Autor/a
Afiliación
Fecha de publicación

31 de mayo de 2023

Fecha de modificación

18 de abril de 2025

Resumen

This article introduces a simple VBA macro designed to merge all sheets from multiple Excel files into a single workbook. The macro automates the process of data consolidation, which is particularly useful for repetitive tasks in econometrics or any field requiring data aggregation from various sources. The method involves opening each file in read-only mode, copying all sheets to a target workbook, and then closing the source workbook to proceed to the next file in the directory.

Palabras clave

VBA, Excel, Data Automation, Macros, Consolidation

Combinando Hojas de Excel con VBA

Sencilla macro en VBA (Visual Basic for Applications) que puedes usar para combinar todas las hojas de varios archivos Excel en un solo libro de trabajo.

Código VBA para Combinar Hojas

Sub Combinar_hojas()

    Path = "C:\Users\Edison\OneDrive\Documentos\Classroom\Econometría I\Bibliografías\Texto_Damodar N. Gujarati_BOOK\Data_Gujarati\Excel Files Gujarati_5 Edicion\"
    Filename = Dir(Path & "*.xls")
    Do While Filename <> ""
    
        Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
        For Each Sheet In ActiveWorkbook.Sheets
            Sheet.Copy After:=ThisWorkbook.Sheets(1)
        Next Sheet
        Workbooks(Filename).Close
        Filename = Dir()
    Loop
End Sub

Explicación del Código

  • Path: Define la ruta del directorio donde se encuentran los archivos Excel que deseas combinar.
  • Filename: Utiliza la función Dir para obtener el primer archivo que cumpla con el patrón “*.xls”.
  • Do While Loop: Este bucle se ejecuta mientras haya archivos en la carpeta que coincidan con el patrón especificado.
  • Workbooks.Open: Abre cada archivo en modo de solo lectura para evitar modificaciones accidentales.
  • For Each Loop: Copia cada hoja del libro de trabajo abierto en el libro actual después de la primera hoja.
  • Workbooks(Filename).Close: Cierra el archivo después de copiar todas sus hojas.
  • Filename = Dir(): Actualiza Filename para el siguiente archivo en la carpeta.

Cómo Usar Esta Macro

  1. Abrir Excel: Abre una nueva hoja de Excel.
  2. Acceder a VBA: Presiona ALT + F11 para abrir el editor de VBA.
  3. Insertar Módulo: En el editor, inserta un nuevo módulo (Insert > Module).
  4. Pegar el Código: Copia y pega el código VBA proporcionado en el módulo vacío.
  5. Ejecutar la Macro: Vuelve a Excel, ve a Developer > Macros, selecciona Combinar_hojas y haz clic en Ejecutar.

Recuerda ajustar la ruta Path según la ubicación de tus archivos en tu sistema.

Este script puede ahorrarte mucho tiempo si trabajas con múltiples archivos de Excel, especialmente en tareas repetitivas como la consolidación de datos para análisis econometría o cualquier otra aplicación donde los datos estén dispersos en varios libros.

Publicaciones Similares

Si te interesó este artículo, te recomendamos que explores otros blogs y recursos relacionados que pueden ampliar tus conocimientos. Aquí te dejo algunas sugerencias:

  1. 01 Introduccion Al Lenguaje Y Editor Vba
  2. 02 Grabar Y Modificar
  3. 03 Procedimientos
  4. 04 Funciones En Vba
  5. 05 Funciones Condicionales Estructuras Condicionales
  6. 06 Funciones Iterativas Estructuras Repetitivas O Bucles
  7. 07 Formularios
  8. 08 Eventos
  9. Comando Para Convertir Docx A Odt
  10. Buscar Reemplazar En Libreoffice
  11. Anclaje Envoltura Alineacion Y Organizacion De Objetos En Llibreoffice
  12. Combinando Hojas De Excel Con Vba
  13. Separando Hojas De Excel En Documentos Individuales
  14. Por Editar

Esperamos que encuentres estas publicaciones igualmente interesantes y útiles. ¡Disfruta de la lectura!

Reutilización

Cómo citar

Por favor, cita este trabajo como:
Achalma, Edison. 2023. “Combinando Hojas de Excel,” May. https://achalmaedison.netlify.app/herramientas-oficina/ofimatica/2023-05-31-combinando-hojas-de-excel-con-vba/.