Forums Últimos mensajes - Powered by IBM
 

copiar datos por medio de macros

24/08/2005 - 19:05 por Manuel Sandoval | Informe spam
Hola foreros...

(rectifico mi anterior post, se me había ido un detalle)

vuelvo con mis consultas...

les presento mi situación, tengo una hoja donde en la columna productos
puede aparecer Hon u Hg (son productos), la situación es que por medio de
una búsqueda al momento de encontrar cualquiera de estos dos productos debo
insertar una fila en blanco, lo cual se esta realizando...

Pero ahora, me solicitan que además de insertar la fila, copie desde la fila
siguiente(donde esta el producto Hg u Hon, segun corresponda)los valores
asociados al producto, osea columnas ABCEyF.

En definitiva si sale el producto Hon u Hg necesito copiar en la fila que
inserté lo que esta en las columnas A,B,C,E y F.
 

Leer las respuestas

#1 Héctor Miguel
25/08/2005 - 07:58 | Informe spam
hola, Manuel !

... en la columna productos puede aparecer Hon u Hg (son productos)
... al... encontrar cualquiera de estos dos productos debo insertar una fila en blanco
... ademas de insertar la fila, copie desde... donde esta el producto Hg u Hon... columnas ABCEyF [...]



he incluido la columna 'D' al momento de copiar a la fila insertada :))
[modifica donde mis supuestos esten equivocados] :-(
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub Busca_e_InsertaFila()
Application.ScreenUpdating = False
Dim Busca, Col As String, Celda As Range, Inicio As String, Sig As Byte
Busca = Array("Hon", "Hg") ' <= pon aqui las palabras que se buscan '
Col = "d" ' <= pon aqui la letra de la columna donde se buscara '
For Sig = LBound(Busca) To UBound(Busca)
If Application.CountIf(Columns(Col), Busca(Sig)) > 0 Then
With Columns(Col)
Set Celda = .Find(What:=Busca(Sig), SearchDirection:=xlNext)
Inicio = Celda.Address
Do
Celda.EntireRow.Insert
Celda.Offset(, -3).Resize(, 6).Copy Celda.Offset(-1, -3)
Set Celda = .FindNext(Celda)
Loop While Not Celda Is Nothing And Celda.Address <> Inicio
End With
End If
Next
Set Celda = Nothing
End Sub

Preguntas similares