Macro para unir varias hojas de Excel en una sola

Tengo un archivo con más de 100 hojas y necesito que se unan en una sola uno debajo del otro

2 Respuestas

Respuesta

Para estos casos puedes utilizar este complemento gratuito y configurable:

@http://www.rondebruin.nl/win/addins/rdbmerge.htm 

Respuesta

.29/08/16

Buenas tardes, Luis

La siguiente rutina hará lo que solicitas.

Al principio de ella, notarás un par de variables donde informarle en qué hoja juntar todo y a partir de qué celda. Al fin de la prueba, creé una hoja en blanco llamada "todojunto", pero puedes reemplazarla por la que quieras.

Con eso en mente y considerando que actualmente cada hoja de MS Excel cuenta con apenas un poco más de un millón de lineas, haz lo siguiente:

Accede al Editor de VBA (Atajo: Alt + F11), inserta un módulo - si no tuvieras uno ya- y pega el siguiente código:

Sub Rejunta()
' LUIS, reemplaza el contenido de estas dos variables por los correspondientes a tu archivo:
HojaDest = "todojunto"
CeldaIni = "A1"
For Each LaHoja In Sheets
    If LaHoja.Name <> HojaDest Then
        Afila = Sheets(HojaDest).UsedRange.Rows.Count
        LaHoja.UsedRange.Copy
        Sheets(HojaDest).Range(CeldaIni).Offset(Afila, 0).PasteSpecial xlPasteValues
        Sheets(HojaDest).Range(CeldaIni).Offset(Afila, 0).PasteSpecial xlFormats
        Application.CutCopyMode = False
        Cont = Cont + 1
    End If
Next
MsgBox "Listo! " & Chr(10) & "Se juntó el contenido de " & Cont & " páginas en la hoja " & HojaDest, vbInformation, "TERMINADO"
End Sub

Pruébalo y dime si es lo que necesitabas.

Un abrazo!

Fernando

(Buenos Aires, Argentina)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas