Problema con macro

Expertos al ejecutar esta macro tengo un problema hago algo mal:
tengo varios archivos en una carpeta y al ejecutar la macro del primer archivo solo me recoje el dato de la primera fila igual k de los demas del ultimo archivo me recoje todos los datos. Si podeis decir donde es mi fallo.
Sub ResumenLibros()
Dim Carpeta As String, UltimaFila As Integer, Archivo
Carpeta = ThisWorkbook.Path
Application.ScreenUpdating = False
ThisWorkbook.Sheets("COBROS Y PAGOS").Range("A3:J65536").ClearContents
UltimaFila = ThisWorkbook.Sheets("COBROS Y PAGOS").Range("A65536").End(xlUp).Row
With CreateObject("Scripting.FileSystemObject")
    With .GetFolder(Carpeta)
        For Each Archivo In .Files
            'Edita el nombre de tu archivo 'resumen' y el nombre de la hoja que los recoge
            If (Archivo.Name Like "*.xls") And (Archivo.Name <> "resumen_de_venta_01.xls") Then
                Workbooks.Open Filename:=Carpeta & "\" & Archivo.Name
                With ThisWorkbook.Sheets("COBROS Y PAGOS")
                    'Edita el nombre de la hoja de donde se toman los datos
       .Cells(UltimaFila + 1, 1) = Workbooks(Archivo.Name).Sheets("IRPF").Range("E25")
       .Cells(UltimaFila + 2, 1) = Workbooks(Archivo.Name).Sheets("IRPF").Range("E26")
       .Cells(UltimaFila + 3, 1) = Workbooks(Archivo.Name).Sheets("IRPF").Range("E27")
       .Cells(UltimaFila + 4, 1) = Workbooks(Archivo.Name).Sheets("IRPF").Range("E28")
       .Cells(UltimaFila + 5, 1) = Workbooks(Archivo.Name).Sheets("IRPF").Range("E29")
       .Cells(UltimaFila + 1, 2) = Workbooks(Archivo.Name).Sheets("IRPF").Range("F25")
       .Cells(UltimaFila + 2, 2) = Workbooks(Archivo.Name).Sheets("IRPF").Range("F26")
       .Cells(UltimaFila + 3, 2) = Workbooks(Archivo.Name).Sheets("IRPF").Range("F27")
       .Cells(UltimaFila + 4, 2) = Workbooks(Archivo.Name).Sheets("IRPF").Range("F28")
       .Cells(UltimaFila + 5, 2) = Workbooks(Archivo.Name).Sheets("IRPF").Range("F29")
       .Cells(UltimaFila + 1, 3) = Workbooks(Archivo.Name).Sheets("IRPF").Range("G25")
       .Cells(UltimaFila + 2, 3) = Workbooks(Archivo.Name).Sheets("IRPF").Range("G26")
       .Cells(UltimaFila + 3, 3) = Workbooks(Archivo.Name).Sheets("IRPF").Range("G27")
       .Cells(UltimaFila + 4, 3) = Workbooks(Archivo.Name).Sheets("IRPF").Range("G28")
       .Cells(UltimaFila + 5, 3) = Workbooks(Archivo.Name).Sheets("IRPF").Range("G29")
       .Cells(UltimaFila + 1, 4) = Workbooks(Archivo.Name).Sheets("IRPF").Range("H25")
       .Cells(UltimaFila + 2, 4) = Workbooks(Archivo.Name).Sheets("IRPF").Range("H26")
       .Cells(UltimaFila + 3, 4) = Workbooks(Archivo.Name).Sheets("IRPF").Range("H27")
       .Cells(UltimaFila + 4, 4) = Workbooks(Archivo.Name).Sheets("IRPF").Range("H28")
       .Cells(UltimaFila + 5, 4) = Workbooks(Archivo.Name).Sheets("IRPF").Range("H29")
                           End With
                Workbooks(Archivo.Name).Close
                UltimaFila = UltimaFila + 1
            End If
        Next
    End With
End With
ThisWorkbook.Sheets("COBROS Y PAGOS").Range("A1").Select
Application.ScreenUpdating = True
End Sub

1 Respuesta

Respuesta
1
Tus instrucciones dicen que en la fila Ultimafila+1, +2, +3, +4 y +5 se copien los datos, entonces al cerrar el libro tenés que incrementar en 5 la variable, en lugar de 1.
                UltimaFila = UltimaFila + 5

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas