Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo recorrer libros de trabajo en un directorio y copiar datos en una hoja maestra en Excel?

Author Siluvia Last modified

Supongamos que tienes varios libros de Excel en una carpeta y necesitas recorrer todos estos archivos para copiar datos de un rango específico en una hoja de cálculo consistente (por ejemplo, Hoja1) en una hoja maestra. Esta guía proporciona una solución VBA detallada para agilizar este proceso en Excel.

Recorre libros de trabajo en un directorio y copia datos en una hoja maestra con código VBA


Recorre archivos en un directorio y copia datos en una hoja maestra con código VBA

Si deseas copiar datos del rango A1:D4 en todas las hojas Hoja1 de los libros de trabajo en una carpeta específica y pegarlos en una hoja maestra, sigue los siguientes pasos.

1. En el libro donde crearás la hoja maestra, presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. En la ventana de Microsoft Visual Basic para Aplicaciones, haz clic en Insertar > Módulo. Luego, copia 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:

1). En el código, “A1:D4” y “Hoja1” significan que los datos en el rango A1:D4 de todas las hojas Hoja1 se copiarán en la hoja maestra. Y “Nueva Hoja” es el nombre de la nueva hoja maestra creada.
2). Los archivos de Excel en la carpeta específica no deben estar abiertos.

3. Presiona la tecla F5 para ejecutar el código.

4. En la ventana Examinar que aparece, selecciona la carpeta que contiene los archivos que recorrerás y luego haz clic en el botón Aceptar. Ver captura de pantalla:

A screenshot of the Browse dialog box in Excel for selecting a folder containing files to loop through

Luego, se crea una hoja de trabajo maestra llamada “Nueva Hoja” al final del libro de trabajo actual. Y los datos en el rango A1:D4 de todas las hojas Hoja1 en la carpeta seleccionada se enumeran dentro de la hoja de trabajo.


Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!

Todos los complementos de Kutools. Un solo instalador

El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.

Excel Word Outlook Tabs PowerPoint
  • Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
  • Mejor juntos: productividad optimizada en todas las aplicaciones de Office
  • Prueba completa de30 días: sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos