No encuentro el error de Sintaxis de macro

Para dante

Un favor podrías ayudarme a encontrar el error en el código, ya que me aparece error de compilación, puse en negritas donde aparece el error .Gracias

Sub INGLESAboutUser()

   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
  u1  =  h1.Range("G" &  Rows.Count).End(xlUp).Row
cols =  Array("B", "D", "G", "H", "I")
  For i  =  fila To u1
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

1 Respuesta

Respuesta
2

H   o l a:

Le hice el cambio de la fila para que empiece a pegar desde la fila 32.

También declaré las variables, por si tienes activado la opción de requerir la declaración de variables.

Por lo demás la veo bien:

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

Prueba y me comentas.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas