Site Info Site Info

Macro Para Unir Varias Hojas Excel En Una Sola

Macro Para Unir Varias Hojas Excel En Una Sola

¡Hola, futuro experto en Excel! Prepárate, porque vamos a sumergirnos en el mundo de las macros para unir hojas de cálculo. No te preocupes, te guiaré paso a paso. ¡Tú puedes con esto!

Preparación del Entorno

Primero, abre Excel. Luego, necesitas activar la pestaña "Desarrollador" o "Programador". Ve a "Archivo" -> "Opciones" -> "Personalizar cinta de opciones" y marca la casilla correspondiente.

Una vez activada la pestaña, la encontrarás en la barra superior. Aquí es donde accederemos al Editor de Visual Basic para Aplicaciones (VBA). Este editor es donde escribiremos nuestro código. ¡No te asustes, es más fácil de lo que parece!

Escribiendo la Macro

Dentro del editor VBA, inserta un nuevo módulo. Ve a "Insertar" -> "Módulo". Aquí pegaremos el código de la macro. Vamos a ver un ejemplo de macro.

Aquí tienes un ejemplo básico de macro que puedes adaptar:

    
    Sub UnirHojas()

        Dim Ruta As String
        Dim NombreArchivo As String
        Dim Hoja As Worksheet
        Dim LibroDestino As Workbook
        Dim LibroOrigen As Workbook

        Set LibroDestino = ThisWorkbook

        Ruta = InputBox("Introduce la ruta de la carpeta con los archivos Excel:")

        If Ruta = "" Then Exit Sub

        NombreArchivo = Dir(Ruta & "\.xls")

        Do While NombreArchivo <> ""

            Set LibroOrigen = Workbooks.Open(Ruta & "\" & NombreArchivo)

            For Each Hoja In LibroOrigen.Worksheets
                Hoja.Copy After:=LibroDestino.Sheets(LibroDestino.Sheets.Count)
            Next Hoja

            LibroOrigen.Close SaveChanges:=False

            NombreArchivo = Dir()

        Loop

        MsgBox "¡Hojas unidas con éxito!"

    End Sub
    
    

Ahora, analicemos el código línea por línea. La primera línea, `Sub UnirHojas()`, declara el inicio de la subrutina llamada "UnirHojas". Esta es la que llamaremos para ejecutar la macro.

Combinar Varios Archivos De Excel En Una Sola Hoja De Cálculo
Combinar Varios Archivos De Excel En Una Sola Hoja De Cálculo

Luego, declaramos las variables. `Dim Ruta As String` define la variable `Ruta` para guardar la ruta de la carpeta. `Dim NombreArchivo As String` guarda el nombre de cada archivo Excel.

`Dim Hoja As Worksheet` representa cada hoja dentro de un libro. `Dim LibroDestino As Workbook` es el libro donde se unirán las hojas. `Dim LibroOrigen As Workbook` es el libro de donde provienen las hojas.

`Set LibroDestino = ThisWorkbook` establece que el libro activo es el destino. `Ruta = InputBox("Introduce la ruta de la carpeta con los archivos Excel:")` solicita al usuario la ruta de la carpeta.

Combinar Datos De Varias Hojas De Trabajo
Combinar Datos De Varias Hojas De Trabajo

La línea `NombreArchivo = Dir(Ruta & "\.xls")` obtiene el primer archivo Excel de la carpeta. El bucle `Do While NombreArchivo <> ""` recorre todos los archivos de la carpeta.

`Set LibroOrigen = Workbooks.Open(Ruta & "\" & NombreArchivo)` abre cada libro Excel. El bucle `For Each Hoja In LibroOrigen.Worksheets` itera sobre cada hoja en el libro de origen.

`Hoja.Copy After:=LibroDestino.Sheets(LibroDestino.Sheets.Count)` copia cada hoja al final del libro de destino. `LibroOrigen.Close SaveChanges:=False` cierra el libro de origen sin guardar los cambios.

Finalmente, `NombreArchivo = Dir()` pasa al siguiente archivo en la carpeta. `MsgBox "¡Hojas unidas con éxito!"` muestra un mensaje de confirmación.

Cómo combinar múltiples hojas de Excel en una sola
Cómo combinar múltiples hojas de Excel en una sola

Ejecutando la Macro

Para ejecutar la macro, vuelve a la hoja de Excel. En la pestaña "Desarrollador", haz clic en "Macros". Selecciona la macro "UnirHojas" y haz clic en "Ejecutar".

¡Voilà! Aparecerá un cuadro de diálogo pidiendo la ruta de la carpeta. Ingresa la ruta correcta y presiona "Aceptar". La macro hará su magia.

Consejos Adicionales

Asegúrate de que todos los archivos estén cerrados antes de ejecutar la macro. Esto evitará errores. Además, la ruta de la carpeta debe ser la correcta.

Combinar Varios Archivos De Excel En Una Sola Hoja De Cálculo
Combinar Varios Archivos De Excel En Una Sola Hoja De Cálculo

Guarda el archivo Excel con la macro como un archivo habilitado para macros (.xlsm). Esto es crucial para que la macro funcione correctamente. ¡No lo olvides!

Resumen

Hemos aprendido a crear una macro para unir varias hojas de Excel en una sola. Hemos cubierto la preparación del entorno, la escritura del código y la ejecución de la macro.

Recuerda los pasos clave: activar la pestaña "Desarrollador", insertar un módulo en el editor VBA, pegar el código, modificar la ruta si es necesario, y ejecutar la macro. ¡Mucha suerte con tu examen!

¡Confío en que vas a aprobar con honores! ¡Sigue practicando y no te rindas!

Gallery

Unir varias hojas de Excel en una sola tabla dinámica · ExpertoDigital.Net
Unificar Varias Hojas de Excel en una sola
Excel Macro para Unir datos de varias hojas en una sola YouTube
Exceltutos, tutoriales de excel: Unir todas las hojas de un libro de