Macro para copiar filas de varias hojas a una sola hoja,

El día de ayer encontré una macro para poder copiar la primera hoja de los 100 que manejo en un solo libro, hasta ahí todo bien. Lo que necesito ahora es una macro para poder copiar las filas de las 100 hojas en una sola hoja, tienen el mismo encabezado todas pero diferente numero de filas, intente con varias macros que vi por aquí pero no puedo hacer que funcionen...

2 respuestas

Respuesta
4

Esta macro hará lo que necesitas. Solo debes ajustar algunas referencias, como:

-Nombre de hoja destino, aquí se considera Hoja1

-Col de las hojas a copiar, aquí se considera col H. Si algunas tienen más que otras podés tomar la tabla de mayor tamaño

- Los títulos no se copian y se asume como 1er celda para el pegado la celda A2

Sub uneHojas()
'x Elsamatilde
'activo la hoja destino
Sheets("Hoja1").Select
'recorro todas las hojas con excepción de la Hoja1
For Each Sh In Sheets
If Sh.Name <> "Hoja1" Then
'selecciono el rango completo sin títulos
Sh.Select
Range("A2:H" & Range("A" & Rows).End(xlUp).Row).Copy Destination:=Sheets("Hoja1").Range("A" & Rows).End(xlUp).Row + 1
End If
'pasa a la hoja sgte,
Next Sh
End Sub

Sdos y si todo queda resuelto no olvides finalizar la consulta.

Disculpa ... se me ha perdido una palabra, aquí va correcta:

Sub uneHojas()
'x Elsamatilde
'activo la hoja destino
Sheets("Hoja1").Select
'recorro todas las hojas con excepción de la Hoja1
For Each sh In Sheets
If sh.Name <> "Hoja1" Then
'selecciono el rango completo sin títulos
sh.Select
Range("A2:H" & Range("A" & Rows.Count).End(xlUp).Row).Copy Destination:=Sheets("Hoja1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End If
'pasa a la hoja sgte,
Next sh
End Sub

Sdos!

Respuesta

Excelente código... una duda: si quiero pegar los datos como valores de una vez, ¿adónde debo colocar la sentencia?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas