Te anexo la macro
Sub CopiaRangoOtroLibro()
'Por.Dante Amor
Set l1 = ThisWorkbook
Set h1 = l1.ActiveSheet
Set c1 = ActiveCell
'
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Seleccione archivo de excel"
.Filters.Clear
.Filters.Add "Archivos excel", "*.xls*"
.AllowMultiSelect = False
.InitialFileName = l1.Path & "\"
If Not .Show Then Exit Sub
'
Workbooks.Open .SelectedItems.Item(1)
Set l2 = ActiveWorkbook
variable = l2.Name
With Application
Set libro2 = .InputBox("SELECCIONA LA HOJA Y EL RANGO DE CELDAS A COPIAR ", "LIBRO2", _
Default:="[" & variable & "]Hoja1!$A$1", Type:=8)
If libro2 Is Nothing Then Exit Sub
End With
celda_2 = libro2.Address
hoja_2 = libro2.Worksheet.Name
libro_2 = libro2.Worksheet.Parent.Name
Set h2 = l2.Sheets(hoja_2)
h2.Range(celda_2).Copy
H1. Range(c1. Address). PasteSpecial xlValues
h1. Range(c1. Address). PasteSpecial xlFormats
l2.Close False
MsgBox "Rango copiado"
End With
End Sub
Funciona de esta manera, selecciona la hoja y la celda donde quieres pegar. Ejecuta la macro, selecciona el archivo de excel, presiona Aceptar. Te aparece una venta para que selecciones la hoja y el rango que quieras copiar. Presiona Aceptar.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias