¿Cómo recorrer los libros de trabajo de un directorio y copiar sus datos en una hoja maestra en Excel?
Suponga que tiene varios libros de Excel en una carpeta y necesita recorrer todos esos archivos para copiar datos desde un rango específico de una hoja coherente (por ejemplo, Hoja1) a una hoja de cálculo principal. Esta guía ofrece una solución detallada en VBA para agilizar este proceso en Excel.
Recorrer libros de trabajo en un directorio y copiar datos en una hoja maestra con código VBA
Recorrer archivos en un directorio y copiar datos en una hoja maestra con código VBA
Si desea copiar los datos del rango A1:D4 de todas las hojas Hoja1 de los libros de trabajo ubicados en una carpeta específica y pegarlos en una hoja maestra, siga estos pasos.
1. En el libro de trabajo donde vaya a crear una hoja de cálculo principal, pulse las teclas Alt+F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo. A continuación, copie el siguiente código VBA en la ventana de código.
Código VBA: recorrer archivos en una carpeta y copiar datos en una hoja maestra
Sub Merge2MultiSheets()
Dim xRg As Range
Dim xSelItem As Variant
Dim xFileDlg As FileDialog
Dim xFileName, xSheetName, xRgStr As String
Dim xBook, xWorkBook As Workbook
Dim xSheet As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
xSheetName = "Sheet1"
xRgStr = "A1:D4"
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
With xFileDlg
If .Show = -1 Then
xSelItem = .SelectedItems.Item(1)
Set xWorkBook = ThisWorkbook
Set xSheet = xWorkBook.Sheets("New Sheet")
If xSheet Is Nothing Then
xWorkBook.Sheets.Add(after:=xWorkBook.Worksheets(xWorkBook.Worksheets.Count)).Name = "New Sheet"
Set xSheet = xWorkBook.Sheets("New Sheet")
End If
xFileName = Dir(xSelItem & "\*.xlsx", vbNormal)
If xFileName = "" Then Exit Sub
Do Until xFileName = ""
Set xBook = Workbooks.Open(xSelItem & "\" & xFileName)
Set xRg = xBook.Worksheets(xSheetName).Range(xRgStr)
xRg.Copy xSheet.Range("A65536").End(xlUp).Offset(1, 0)
xFileName = Dir()
xBook.Close
Loop
End If
End With
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub Nota:
3. Pulse la tecla F5 para ejecutar el código.
4. En la ventana de Examinar que se abre, seleccione la carpeta que contiene los archivos que va a recorrer y, a continuación, haga clic en el botón Aceptar. Vea la captura de pantalla:

A continuación, se crea una hoja de cálculo principal llamada «Hoja nueva» al final del libro de trabajo actual, y en ella se muestran los datos del rango A1:D4 de todas las Hoja1 de la carpeta seleccionada.
Artículos relacionados:
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos