.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)