H o la: En la siguiente macro actualiza estos datos:
Set h1 = l1.Sheets("Hoja1") 'hoja destino
col = "A" 'columna destino
rango = "B3:D5" 'rango a extraer
num = "Hoja1" 'hoja origen, nombre de la hoja especial
Pon la macro en un libro nuevo y la ejecutas. La macro te pedirá que selecciones la carpeta donde tienes los libros; la macro copiará el rango y lo pegará en la columna "A", siempre abajo del rango anterior pegado.
Sub Copiar_Un_Rango()
'---
' Por.Dante Amor
'---
Application.ScreenUpdating = False
Set l1 = ThisWorkbook
Set h1 = l1.Sheets("Hoja1") 'hoja destino
col = "A" 'columna destino
rango = "B3:D5" 'rango a extraer
num = "Hoja1" 'hoja origen, nombre de la hoja especial
'
Ruta = l1.Path & "\"
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Selecciona una carpeta"
.AllowMultiSelect = False
.InitialFileName = Ruta
If .Show <> -1 Then Exit Sub
cp = .SelectedItems(1)
End With
'
arch = Dir(cp & "\" & "*.xls*")
Do While arch <> ""
Set l2 = Workbooks.Open(cp & "\" & arch)
Set h2 = l2.Sheets(num)
u = h1.Range(col & Rows.Count).End(xlUp).Row + 1
h2.Range(rango).Copy
h1.Cells(u, col).PasteSpecial xlValues
h1.Cells(u, col).PasteSpecial xlFormats
l2.Close False
arch = Dir()
Loop
MsgBox "Fin"
End Sub
Al finalizar, tendrás en el nuevo libro todos los rangos.
Prueba y me comentas.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias