Copiar datos entre libros

Buenas, tengo esta rutina, pero cuando la ejecuto, no me copia los datos a la hoja destino. La macro la ejecuto desde una plannilla llamada Clientes.xlsm y quiero que copie las celdas a la derecha de la celda activa y la pegue en Cert.xlsm

Sub Copiar_datos_cliente()

Workbooks.Open Filename:="C:\Cert.xlsm"

'ActiveCell.Offset(, 1).Resize(1, 7).Select '//probando esta sentencia

'ActiveCell.Offset(, 1).Resize(1, 7).Copy

'ActiveCell.Resize(1, 6).Select

'Selection.Copy

ActiveCell.Resize(1, 6).Copy

Windows("Cert.xlsm").Activate

ActiveWorkbook.Sheets("Hoja1").Select

Range("B2").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=True '//En esta sección no me pega nada

Application.CutCopyMode = False

End Sub

1 Respuesta

Respuesta
1

Fijate en mi respuesta anterior que te comenté que cuando abrís el libro, éste queda como el libro activo... entonces tenés que volver al que ahora llamás Clientes, seleccionar la celda o rango a copiar, activar el otro libro (el que abriste al inicio), seleccionar hoja y celda destino y recién entonces pegar.

Armala nuevamente y si algo falla enviame a mi correo (lo podés tomar de mi sitio que dejo al pie) en un libro las 2 hojas (1 de cada libro) para que pueda tomar la ref de las celdas.

Te recuerdo que la consulta sigue abierta... si no lo resolviste aún enviame las 2 hojas para que arme la macro.

Lo resolví si de esta manera, no se si hay manera de optimizar el código, hasta ahora resulta.

Sub Copiar_datos_cliente()
ActiveCell.Resize(1, 7).Copy 'copio los datos de la celda/fila seleccionada
Range("H3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True 'los pego transpuesto en el mismo libro
Workbooks.Open Filename:="C:\Form 01 12 y Cert.xlsm"
Workbooks("Facturación.xlsm").Worksheets("Clientes").Range("H3").Copy
Workbooks("Form 01 12 y Cert.xlsm").Worksheets("Resumen").Range("E2").PasteSpecial (xlPasteValues) 'voy pegando celda por celda
Workbooks("Facturación.xlsm").Worksheets("Clientes").Range("H5").Copy
Workbooks("Form 01 12 y Cert.xlsm").Worksheets("Resumen").Range("E3").PasteSpecial (xlPasteValues)
Workbooks("Facturación.xlsm").Worksheets("Clientes").Range("H6").Copy
Workbooks("Form 01 12 y Cert.xlsm").Worksheets("Resumen").Range("E4").PasteSpecial (xlPasteValues)
Workbooks("Facturación.xlsm").Worksheets("Clientes").Range("H10").Copy
Workbooks("Form 01 12 y Cert.xlsm").Worksheets("Resumen").Range("E5").PasteSpecial (xlPasteValues)
Workbooks("Facturación.xlsm").Worksheets("Clientes").Range("H8").Copy
Workbooks("Form 01 12 y Cert.xlsm").Worksheets("Resumen").Range("E6").PasteSpecial (xlPasteValues)
Workbooks("Facturación.xlsm").Worksheets("Clientes").Range("H9").Copy
Workbooks("Form 01 12 y Cert.xlsm").Worksheets("Resumen").Range("E7").PasteSpecial (xlPasteValues)
Workbooks("Facturación.xlsm").Worksheets("Clientes").Range("H7").Copy
Workbooks("Form 01 12 y Cert.xlsm").Worksheets("Resumen").Range("E8").PasteSpecial (xlPasteValues)
Application.CutCopyMode = False
End Sub

Gracias por todas tus ideas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas