Copiar datos a carpeta y libro distinto

Me podrían ayudar  con respecto de una macro que tiene como respuesta en este foro;
El cual copia los valores de una hoja1 especificando su rango a otra hoja "Registro de Facturas "en forma secuencial a partir de la fila"B3".
Sub copiar()
Range("C64:G64").Copy
Sheets("Registro de Facturas").Select
Range("B3").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Mi pregunta es como hago para que en vez de que se copie los valores en el mismo libro en lo hoja "Registro de Facturas" lo haga en una carpeta y libro diferente (E:\Documentos Personales\Base_Datos.xls)

1 Respuesta

Respuesta
1
Primero tenés que abrir el libro de Registro. La macro debiera quedarte así:
Sub copiar()
'x Elsamatilde
'guardo el nombre del libro actual para regresar
libro1=activeworkbook.name
workbooks.open "E:\Documentos Personales\Base_Datos.xls"
libro2 = activeworkbook.name
'me vuelvo al libro1
workbooks(libro1).activate
ActiveSheet.Range("C64:G64").Copy
workbooks(libro2).Activate
ActiveWorkbook.Sheets("Registro de Facturas").Select
Range("B3").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'opcional: volver al libro1
workbooks(libro1).activate
End Sub
Pruébalo y comentame. Es probable que al insertar 1 fila se te pierda el copiado.
Si es así, las líneas del insert deben ir en la apertura del libro
Le quedo agradecido por su oportuna y acertada respuesta, suprimí (ActiveWorkbook.Sheets("Registro de Facturas"). Select ) y realice los cambios que me supo indicar funcionando  a la perfección

Añade tu respuesta

Haz clic para o