Macro para copiar un rango de celdas de una hoja de varios libros

Cómo hago una macro para copiar un rango de celdas de la C14 a la H25, de todos los libros que están en una carpeta específica, la macro deberá copiar ese rango de todos los libros y por cada rango copiado crear una nueva hoja en mi libro con la macro. Debe pegar el rango como valores ya que tengo fórmulas y solamente requiero de los valores.

1 respuesta

Respuesta
1

No pusiste el nombre de la hoja dónde se encuentra el rango, cambia en la macro “Hoja1” por el nombre de la hoja que contenga el rango.

Cambia en la macro ruta = "C:\carpeta\", por el nombre de la carpeta que contiene los archivos.

En la nueva hoja el rango se pega en la celda C14, cambia en esta parte de la macro C14 por la celda destino

h1.Range("C14").PasteSpecial Paste:=xlPasteValues

Te anexo la macro:

Sub CopiarUnRango()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    ruta = "C:\carpeta\"
    ChDir ruta
    hoja = "Hoja1"
    archi = Dir("*.xls*")
    Set l1 = ThisWorkbook
    '
    On Error Resume Next
    Do While archi <> ""
        Workbooks.Open archi
        Sheets(hoja).Range("C14:H25").Copy
        If Err.Number = 0 Then
            l1.Sheets.Add after:=l1.Sheets(l1.Sheets.Count)
            Set h1 = l1.ActiveSheet
            h1.Range("C14").PasteSpecial Paste:=xlPasteValues
        End If
        Err.Number = 0
        Workbooks(archi).Close
        archi = Dir()
    Loop
    MsgBox "Terminado"
End Sub

Saludos.Dante Amor

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas