Macro para copiar columnas a otra hoja

.:: Para dante amor ::.

Hola! Una consulta, actualmente la macro copia la columna "A" a otra hoja, pero ahora necesito que copie la columna "A" y la "B" a otra hoja, la podrías modificar por favor!

Sub Copiar_Filas()
'Por.Dante Amor
Set l1 = ThisWorkbook
Set h1 = l1.ActiveSheet
Set l2 = Workbooks.Add
Set h2 = l2.Sheets(1)
col = "E"
'
j = 2
Set r = h1.Columns(col)
Set b = r.Find("OK", LookAt:=xlWhole, LookIn:=xlValues)
If Not b Is Nothing Then
celda = b.Address
Do
'detalle
h1.Range("A" & b.Row).Copy h2.Range("A" & j)
j = j + 1
Set b = r.FindNext(b)
Loop While Not b Is Nothing And b.Address <> celda
End If
MsgBox "xxxxxxxx"
End Sub

1

1 Respuesta

195.000 pts. Los hombres aprenden mientras enseñan.

[Hola

Que tal así

h1.Range("A" & b.Row & ":B" & b.Row).Copy h2.Range("A" & j)

Hola Adriel! Si funciona, pero la columna B tiene una fórmula, y cuando se copian ambas columnas a otra hoja, también se copia la fórmula, que debería modificar para que copie ambas columnas solo como "valores".

Gracias!

Sub Copiar_Filas()
'Por.Dante Amor
    Set l1 = ThisWorkbook
    Set h1 = l1.ActiveSheet
    Set l2 = Workbooks.Add
    Set h2 = l2.Sheets(1)
    col = "E"
    '
    j = 2
    Set r = h1.Columns(col)
    Set b = r.Find("OK", LookAt:=xlWhole, LookIn:=xlValues)
    If Not b Is Nothing Then
        celda = b.Address
        Do
        'detalle
        h1.Range("A" & b.Row & ":B" & b.Row).Copy
        h2.Range("A" & j).PasteSpecial Paste:=xlValues
        j = j + 1
        Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> celda
    End If
    MsgBox "xxxxxxxx"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas