Macro para pasar datos de un libro excel a otro

Aprovecho este foro para consultar un problema ha resolver, el cual relato a continuación: Debo realizar una macro que al ejecutarla abra un libro llamado “GraficadeProdc.xls” en la hoja “Base” se debe llevar un registro diario de la producción de la empresa. El libro Origen “Producción.xls” en la hoja llamada “PRODUCCIÓN” se encuentran los datos a copiar, entre las Celdas “C18:F18”.

Admito que me he guiado de otros foros e información que he encontrado en a red, pero; estoy bloqueado en el paso en que al copiar los datos desde el libro origen hasta el libro destino, lo haga en la fila consecutiva es decir; el día 1 en la fila 1 consecutivamente.

Trate de restar las fechas y el resultado de esta operación me da la fila, claro conociendo que las columnas permanecen constante,

Este es el código que estoy realizando

Sub Copiar_Celdas()
'Definir objetos a utilizar
Dim wbDestino As Workbook, _
    wsOrigen As Excel.Worksheet, _
    wsDestino As Excel.Worksheet, _
    rngOrigen As Excel.Range, _
    rngDestino As Excel.Range
Dim Dia As String
Dia = Worksheets("PRODUCCIÓN").Range("C12").Value
'Indicar el libro de Excel destino
Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "\GraficadeProdc.xls")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("PRODUCCIÓN")
Set wsDestino = wbDestino.Worksheets("Balance")
'Indicar la celda de origen y destino
Const celdaOrigen = "C18:F18"
CeldaDestino = "B5:E5" ' Necesito que este rango cambie con el día en que se realiza la carga de datos
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
Set rngDestino = wsDestino.Range(celdaDestino)
'Seleccionar rango de celdas origen
rngOrigen.Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Pegar datos en celda destino
rngDestino.PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Guardar y cerrar el libro de Excel destino
wbDestino.Save
wbDestino.Close
End Sub

Añade tu respuesta

Haz clic para o