Macro para juntar hojas

Existe alguna macro que junte todos lo archivos de una carpeta en un solo libro

Te agradeceré si me puedes ayudar con esto yo encontré una macro que junta hojas pero recorre todos los archivos del computador y yo solo necesito que recorra una carpeta especifica.

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

1 respuesta

Respuesta
1

Ya probaste poner el archivo que tiene la macro, en la misma carpeta donde tienes los otros libros y ejecutas la macro.

Saludos. DAM

si tengo la macro en la carpeta donde tengo todos los archivos pero me copia todos los archivos del computador

Ya probé la macro y funciona bien.

Tienes que guardar el archivo que tiene la macro en la carpeta donde están tus archivos *.xls*

Si tu archivo es nuevo y no lo has guardado, la macro lee los archivos de la carpeta raíz c:\

Es por eso que tienes que guardar el archivo con la macro en la carpeta de archivos.

Y otra cosa, la macro no lee todos los archivos del computador, solamente los de una sola carpeta.

Revisa y me comentas.

Saludos. DAM

seguí uno a unos los pasos que me diste y ahora me esta generando un error 1004 en tiempo de ejecución al depurar de muestra problemas con la siguiente instrucción

hoja.Copy after:=Workbooks(mio).Sheets(Workbooks(mio).Sheets.Count)

logre que funcionara pero me queda una sola duda cuando ejecuto la macro me busca los archivos desde la carpeta mis documentos se puede cambiar esto.

Todo esta en esta línea

ruta = ActiveWorkbook.Path

La carpeta o ruta empieza donde tengas el libro con la macro

Si quieres cambiarlo, sin importar donde esté el libro con la macro, pon esto, por ejemplo:

ruta = "C:\archivos\otros\etc\"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas