Buenas
Puedes probar con esto:
Sub copiarDatosDeArchivo1A2()
Dim x As Workbook
Dim y As Workbook
'## Abrimos ambos ficheros:
Set x = Workbooks.Open("C:\Users\Usuario\Desktop\16\08Agosto\Ciudad\Archivo1.xlsm")
Set y = Workbooks.Open("C:\Users\Usuario\Desktop\16\08Agosto\Ciudad\Archivo2.xlsm")
'Copiamos los datos que queramos del primer libro de excel:
x.Sheets("Hoja1").Range("A1").Copy
'Pegamos en el otro libro:
y.Sheets("Hoja1").Range("A1").PasteSpecial
'Cerramos el fichero:
x.Close
End Sub
Si en vez de pegar una parte quieres pegar todos los datos podrías hacer:
With x.Sheets("Hoja1").UsedRange
'Pegar a la segunda hoja:
y.Sheets("Hoja1").Range("A1").Resize( _
.Rows.Count, .Columns.Count) = .Value
End With
Y otra forma de hacerlo:
Sub otraForma()
Dim x As Workbook
Dim y As Workbook
Dim vals as Variant
'## Abrimos ambos ficheros:
Set x = Workbooks.Open("C:\Users\Usuario\Desktop\16\08Agosto\Ciudad\Archivo1.xlsm")
Set y = Workbooks.Open("C:\Users\Usuario\Desktop\16\08Agosto\Ciudad\Archivo2.xlsm")
'Guardar la información en una variable:
vals = x.Sheets("Hoja1").Range("A1").Value
'Trasladar el contenido de la variable a otra hoja:
y.Sheets("Hoja1").Range("A1").Value = vals
'Cerrar x:
x.Close
End Sub
Salu2