Varios ficheros Excel en Directorio. Abro fichero, copio celda, pego en fichero común cierro y vuelvo al siguiente fichero?

Tengo unos 200 ficheros Excel en un directorio, la idea es generar Macro que permita automatizar lo siguiente:

Hay un fichero borrador que recoge los valores de las celdas f7 y i7 de todos los ficheros del directorio, es decir, abrir fichero1, copiar celdas (f7, i7), pegar en fichero borrador,(por ej, a2, b2) cerrar fichero1, abrir fichero2, copiar celdas (f7 y i7) y pegar en fichero borrador, (a3, b3) hasta que no haya más ficheros en el directorio.

1 respuesta

Respuesta
1

Te anexo la macro

Solamente actualiza en la macro, la carpeta donde están los archivos.

Nota: El libro con la macro deberá estar en otra carpeta diferente a donde tienes los libros

Las celdas que quieres copiar y el nombre de la hoja que va a almacenar los datos.

La información de las celdas F7 y I7 se va a tomar de la primera hoja de cada libro.

Sub Abrir_Ficheros()
'Por.Dante Amor
    Application.ScreenUpdating = False
    ruta = "C:\trabajo\libros\"     'carpeta donde están los archivos
    celdas = Array("F7", "I7")      'celdas a recoger
    '
    Set l1 = ThisWorkbook
    Set h1 = Sheets("Hoja1")        'Nombre de hoja para almacenar los datos
    h1.Cells.ClearContents
    '
    fila = 2
    col = 1
    ini = col
    arch = Dir(ruta & "*.xls*")
    Do While arch <> ""
        Set l2 = Workbooks.Open(ruta & arch)
        Set h2 = l2.Sheets(1)
        For i = LBound(celdas) To UBound(celdas)
            h1.Cells(fila, col) = h2.Range(celdas(i))
            col = col + 1
        Next
        col = ini
        fila = fila + 1
        l2.Close False
        arch = Dir()
    Loop
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub


.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas