Copiar Rango excel en la ultima fila de otro file

Buenas,
Estoy intentando copiar un rango de una hoja a otro archivo diferente existente, pero me da diferentes errores. ¿Me podríais dar una mano?
Estoy intentando esto
Sub CopiarDatos()
Range("A1").Select
Selection.Copy
Workbooks.Open Filename:= _
"C:\Documents and Settings\WRK1\Escritorio\destino.xls"
Sheets("hojades").Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWindow.ActivateNext
Range("A1").Select
Application.CutCopyMode = False
End Sub
Muchas gracias de antemano
Respuesta
1
No entiendo muy bien que quieres copiar y en donde pero ahí va una aproximación. Selecciono del fichero qne el que estoy el rango desde A1 al ultimo dato de la columna A y lo copio en la A1 del libro destino.xls, atención de esta forma machaca lo que tengas en el libro destino dentro de ese rango, y si lo que tenias anteriormente era un rango mayor, se te quedará parte de lo viejo, para ello primero tendríamos que borrarlo, pero bueno esto puede ser un comienzo.
Sub copiodat()
   Range(Range("A1"), Range("A1").End(xlDown)).Select
   Selection.Copy
   Workbooks.Open Filename:="destino.xls"
   Sheets("hojades").Select
   Sheets("hojades").Range("A1").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
   :=False, Transpose:=False
   Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
   SkipBlanks:=False, Transpose:=False
End Sub
Saludos. . . . Y espero poder concretar un poco más
Muchas gracias por la respuesta creo que en parte me servirá.
Me intento explicar un poco más extensamente.
Tengo un fichero que lo llamo origen. De este fichero quiero que me copie un rango determinado en otro fichero llamado por ejemplo destino (Fichero creado previamente) en la hoja "hojades", en la ultima fila libre del fichero.
Necesito que:
Copie rango hoja origen.
Abra el fichero de destino
Busque la ultima fila en blanco y peque ese rango ahí.
Cierre el fichero destino.
Muchas gracias por tu ayuda y respuestas.
Saludos.
Prueba esto...
Sub copiodat()
   Range(Range("A1"), Range("A1").End(xlDown)).Select
   Selection.Copy
   Workbooks.Open Filename:="destino.xls"
   Sheets("hojades").Select
   Sheets("hojades").Range("A65535").End(xlUp).Offset(1, 0).Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
   :=False, Transpose:=False
   Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
   SkipBlanks:=False, Transpose:=False
   Workbooks("destino.xls").Close SaveChanges:=True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas