Copiar la misma hoja de varios archivos en otra hoja de otro workbook
publicado
Qué tal, estoy teniendo problemas nuevamente queriendo copiar la misma hoja de diferentes archivos almacenados en una carpeta, lo que hace la macro es encontrar la última fila disponible para pegar la info del archivo 2, y así sucesivamente pero me aparece el error "1004" de que la hoja en la que quiero pegar el archivo no tiene el mismo número de celdas.
Mi objetivo es hacer un archivo Master con la información de la primera hoja de todos los archivos dentro de la carpeta.
Este es mi código:
Sub MasterSTS()
Dim Carpeta As String
Dim Examinar As Object
'--
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Examinar = Application.FileDialog(msoFileDialogFolderPicker)
With Examinar
If .Show = -1 Then
Carpeta = .SelectedItems.Item(1)
RecorreArchivos Carpeta
End If
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.StatusBar = False
MsgBox "Proceso terminado"
End Sub
Private Sub RecorreArchivos(NombreCarpeta As String)
Dim Archivos As Object
Dim Carpeta As Object
Dim Archivo As Object
'--
Set Archivos = CreateObject("Scripting.FileSystemObject")
Set Carpeta = Archivos.GetFolder(NombreCarpeta)
For Each Archivo In Carpeta.Files
Application.StatusBar = Archivo.Name
CopiarArchivo Archivo.Path
Next
End Sub
Private Sub CopiarArchivo(Archivo As String)
Dim Lcopia As Workbook
Dim LDestino As Workbook
Dim Destino As Worksheet
'--
Set LDestino = ActiveWorkbook
Set Destino = ActiveSheet
Set Lcopia = Workbooks.Open(Archivo)
Sheets("SoloMexico").Range("A3:L" & Sheets(1).Range("A" & Rows.Count).End(xlUp).Row).Copy
Destino.Range("A" & Destino.Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial xlPasteValues
ActiveWorkbook.Close SaveChanges:=True
End Sub
Al remover la línea de :
ActiveWorkbook.Close
Funciona sin ningún problema, no me aparece ningún error ni nada pero me deja todos los archivos abiertos de donde copié la información y me gustaría que al terminar de ejecutar la macro, me cierre todos los libros abiertos.
No entiendo porque al remover esa línea en específico todo funciona correctamente, espero me puedan ayudar.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Qué tal, estoy teniendo problemas nuevamente queriendo copiar la misma hoja de diferentes archivos almacenados en una carpeta, lo que hace la macro es encontrar la última fila disponible para pegar la info del archivo 2, y así sucesivamente pero me aparece el error "1004" de que la hoja en la que quiero pegar el archivo no tiene el mismo número de celdas.
Mi objetivo es hacer un archivo Master con la información de la primera hoja de todos los archivos dentro de la carpeta.
Este es mi código:
Al remover la línea de :
ActiveWorkbook.Close
Funciona sin ningún problema, no me aparece ningún error ni nada pero me deja todos los archivos abiertos de donde copié la información y me gustaría que al terminar de ejecutar la macro, me cierre todos los libros abiertos.
No entiendo porque al remover esa línea en específico todo funciona correctamente, espero me puedan ayudar.