Favor ayuda con esta macro

Estimados la siguiente macro abre y copia todos los archivos de una carpeta como txt en una hoja, pero quisiera adecuarla para que pueda hacer lo mismo pero con archivos excel, agradeceré vuestra ayuda con esto.-

Sub archivos_datCAP()
'escondemos el procedimiento'
Application.ScreenUpdating = False
'rescatamos los datos de la carpeta datos'
ChDir "D:\datos"
arch = Dir("*.*")
Set h1 = Sheets.Add
ActiveSheet.Name = "control"
Do While arch <> ""
uf = h1.Range("A1").SpecialCells(xlLastCell).Row + 1
Workbooks.OpenText _
Filename:=arch, _
Origin:=xlMSDOS, _
StartRow:=2, _
DataType:=xlFixedWidth, _
FieldInfo:=Array(0, 2), _
TrailingMinusNumbers:=True
ActiveSheet.UsedRange.Copy h1.Cells(uf, "A")
ActiveWindow.Close
arch = Dir()
Loop

End sub

1 Respuesta

Respuesta
1

Si tu problema es que quieres juntar muchos excel en uno solo, necesito lo siguiente:

-Deberán ser todos de la misma estructura para que podamos juntarlos.. ¿cómo son?

¿Se componen de una sola hoja que es la que juntaremos?

Coméntame

Son todos iguales, contienen una sola hoja, tienen datos desde la columna A hasta columna U y quisiera juntarlos desde la fila 2

Te paso la solución y estas son las instrucciones:

-Tenemos dentro de una misma carpeta todos los excel que queremos juntar.

-Graba dentro de esa misma carpeta el archivo que te mando en el siguiente enlace que se llama: JUNTOS.XLSM

-Una vez tengas todos dentro de esa carpeta, abre el archivo JUNTOS y pulsa el botón que verás en pantalla.

Este es el enlace

http://share.cx.com/cF9djh

Recuerda finalizar la consulta

Luis le puedo indicar a la macro en que carpeta específicamente debe buscar los archivos.-

Lo puedes hacer modificando la macro en esta línea:

ruta = ActiveWorkbook.Path & "\"

por esta otra como ejemplo:

ruta = "C:\mis documentos\ejemplo\"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas