Copiar ciertas columnas de la Hoja1 a la Hoja2 según condición con macro

Para Dante

Me interesar llevar los datos de la Hoja1 a la Hoja 2(copiar) determinadas columnas usando array para que vaya de columna en columna, si en G2 tiene valor distinto de 0

Lo que me interesa es copiar datos de determinadas columnas ("B","D","G","H","I") (usando array) de la Hoja 1 a la Hoja 2 con destino en las mismas columnas

1 Respuesta

Respuesta
1

Quieres copiar toda la columna.

O quieres que se vaya revisando fila por fila, y si el valor de la fila - columna G, es diferente de 0, ¿solamente copiar las celdas de esa fila pero las columnas B, D, G, H, I?

Quiero revisar fila por fila y si el valor de la fila -Columna G es mayor o diferente a cero, copiar solamente la celdas de esa fila pero las columnas B, DE, G, H, I

Gracias

Te anexo la macro que empezaste. Prueba y me comentas.

Sub Copiar()
    Dim h1, h2, fila, u1, u2, cols, i, col
    '
    Set h1 = Sheets("Hoja1")    'hoja origen con datos
    Set h2 = Sheets("Hoja2")    'hoja destino
    fila = 2                    'fila inicial de datos
    u2 = h2.Range("G" & Rows.Count).End(xlUp).Row
    If u2 < 32 Then u2 = 32
    h2.Range("A32:I" & u2).ClearContents
    u2 = 32
    cols = Array("B", "D", "G", "H", "I")
    For i = fila To h1.Range("G" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "G") > 0 Then
            For col = LBound(cols) To UBound(cols)
                h1.Cells(i, cols(col)).Copy h2.Cells(u2, cols(col))
            Next
            u2 = u2 + 1
        End If
    Next
    MsgBox "Registros copiados"
End Sub

sal u dos

Solo una pregunta por que sin el Dim no funciona mi macro, ¿si no lo tengo en Option Explicit?

Una vez más Gracias

Tal vez tienes option explicit en otra macro.

Revisa también que tengas apagado el check "Requerir declaración de variables " en el menú de VBA, Herramientas, Opciones

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas