Excel - Copiar contenido de carpetas y pegarlas

 
Vista:
sin imagen de perfil

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Copiar contenido de carpetas y pegarlas

Publicado por Antoni Masana (2478 intervenciones) el 13/05/2023 21:52:33
Esta función abre varios de archivos Excel sin macros que hay en un directorio, cuenta cuantos hay y los deja abiertos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar