
Copiar contenido de carpetas y pegarlas
Publicado por Agustin (1 intervención) el 11/05/2023 20:34:10
Hola, amigos. Una pregunta.
En una carpeta tengo un grupo de ficheros Excel, los que debo abrir uno a uno, copiar su información interna y pegarla en otro Excel, una información debajo de la otra.
Esto me funciona abriendo cada uno de los ficheros que tengo en la carpeta:
Sub AbrirArchivos()
Dim Archivos As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Seleccionar carpeta"
.Show
directorio = .SelectedItems(1) 'Escojo el directorio que tiene los datos a procesar
End With
' Especificar una carpeta y el tipo de archivo que buscamos
Archivos = Dir(directorio & "\*.xlsx")
Do While Archivos <> ""
' Abrir los libros uno por uno
Workbooks.Open directorio & "\" & Archivos
cuenta = cuenta + 1
'Buscar más archivos en la carpeta para volver seguir la secuencia
Archivos = Dir
'Workbooks(Libro).Close SaveChanges:=False
Loop
End Sub
Pero al abrir cada Excel para copiar la información y copiarla en otro libro, entonces pierde la secuencia y siempre abre el primer libro de Excel, repetidamente.
Quiero poner algo así
Cuenta=cuenta +1
reporte(cuenta) = Archivo ' para que cada nombre vaya a reporte(cuenta), pero eso me da error y no sé cuál es el problema.
Gracias
En una carpeta tengo un grupo de ficheros Excel, los que debo abrir uno a uno, copiar su información interna y pegarla en otro Excel, una información debajo de la otra.
Esto me funciona abriendo cada uno de los ficheros que tengo en la carpeta:
Sub AbrirArchivos()
Dim Archivos As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Seleccionar carpeta"
.Show
directorio = .SelectedItems(1) 'Escojo el directorio que tiene los datos a procesar
End With
' Especificar una carpeta y el tipo de archivo que buscamos
Archivos = Dir(directorio & "\*.xlsx")
Do While Archivos <> ""
' Abrir los libros uno por uno
Workbooks.Open directorio & "\" & Archivos
cuenta = cuenta + 1
'Buscar más archivos en la carpeta para volver seguir la secuencia
Archivos = Dir
'Workbooks(Libro).Close SaveChanges:=False
Loop
End Sub
Pero al abrir cada Excel para copiar la información y copiarla en otro libro, entonces pierde la secuencia y siempre abre el primer libro de Excel, repetidamente.
Quiero poner algo así
Cuenta=cuenta +1
reporte(cuenta) = Archivo ' para que cada nombre vaya a reporte(cuenta), pero eso me da error y no sé cuál es el problema.
Gracias
Valora esta pregunta


0