Unir varios libros en uno solo en excel 2007

Expertos necesito unir varios libros de excel que me dieron en uno solo, el problema es que como son muchos tardo bastante copiandolos y pegándolos, necesito para ello una macro que me una todos estos libros en uno pero en EXCEL 2007, ya que en 2003 no es lo mismo trabajo con excel 2007

1 respuesta

Respuesta
2

Te mando la solución y sigue mis instrucciones:

Pon todos los archivos que quieres juntar dentro de una misma carpeta.

Ahora abre un archivo nuevo de excel y copia esta macro dentro de él y lo grabas dentro de la misma carpeta de los otros.

Abre este último archivo, ejecuta la macro y todo listo!

Sub juntar()
Application.DisplayAlerts = False
mio = ActiveWorkbook.Name
ruta = ActiveWorkbook.Path
ChDir ruta & "\"
archi = Dir("*.xls*")
Do While archi <> mio
Workbooks.Open archi
otro = ActiveWorkbook.Name
For Each hoja In ActiveWorkbook.Sheets
hoja.Copy after:=Workbooks(mio).Sheets(Sheets.Count)
Next
Workbooks(otro).Close False
archi = Dir()
Loop
End Sub

recuerda finalizar y puntuar

Primeramente agradecerle por tomar su atención y atender mi solicitud, pero le comento que no funciona, cree una carpeta en la UNIDAD c: y allí metí unos 40 archivos *.xlsx, cree un archivo llamado principal.xlsx y allí copie la macro, cuando hice correr la macro me salio el siguiente error, hoja.Copy after:=Workbooks(mio).Sheets(Sheets.Count), en la linea 9, por favor necesito su ayuda.

Ojo trabajo en Excel 2010

Gracias

Ahora sigue las mismas instrucciones pero con esta macro:

Sub juntar()
Dim hoja As Object
Application.DisplayAlerts = False
mio = ActiveWorkbook.Name
ruta = ActiveWorkbook.Path
ChDir ruta & "\"
archi = Dir("*.xls*")
Do While archi <> mio
Workbooks.Open archi
otro = ActiveWorkbook.Name
For Each hoja In ActiveWorkbook.Sheets
hoja.Copy After:=Workbooks(mio).Sheets(Workbooks(mio).Sheets.Count)
Next
Workbooks(otro).Close False
archi = Dir()
Loop
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas