Cómo puedo pasa datos de un excel a otro con macros?

Ya tengo la macro que me copia los datos del excel1 al excel2, mi duda es como puedo hacer para que se vayan rellenando los datos y no copiando porque en el excel 2 tengo que agregrar otros datos adicionales pero como hago la copia con el excel1 se pegan por encima de estos.

Puedo enviar los archivos para que se tenga una ida de lo que tengo que hacer.

Respuesta
1

Enviámelos a uno de los correos que aparece en la imagen.

No olvides adjuntar los 2 excel, claves si tuvieran, la macro y todas las aclaraciones posibles.

Sdos.

Elsa

Muchas gracias por la ayuda, le enviare de inmediato mis archivos.

Adjunto macro. Lee los comentarios que dejo allí. Algunas instrucciones son 'opcionales' o sugerencias.

Sub Traspasar()
'x Elsamatilde
'Buscar la ubicación del archivo al que voy a copiar "C:\Users\PC-CASA\Desktop\Informe de Ventas Calzadas RB 2019.xlsx"
'Definir objetos a utilizar
Dim wbDestino As Workbook, _
    wsOrigen As Excel.Worksheet, _
    wsDestino As Excel.Worksheet
'primero evaluar si hay registros para copiar
Set wsOrigen = Worksheets("RIO BUENO 2019")
filO = wsOrigen.Range("A" & Rows.Count).End(xlUp).Row
If filO < 4 Then
    MsgBox "No hay registros para pasar."
    Exit Sub
End If
'Indicar el libro de Excel destino
Set wbDestino = Workbooks.Open("L:\GUIAS RECEPCION BODEGA\PATRICIA\Informe de Ventas Calzadas RB 2019.xlsx")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
'NO CAMBIAR NOMBRES, SINO HABRA QUE MODIFICARLO
Set wsDestino = wbDestino.Worksheets("Ventas Calzadas 2019")
'primer fila destino... se quitan posibles filtros
If wsDestino.FilterMode = True Then wsDestino.ShowAllData
filD = wsDestino.Range("B" & Rows.Count).End(xlUp).Row + 1
'pasar cada col..... no hace falta seleccionar
Range(Cells(4, 3), Cells(3000, 3)).Copy
wsDestino.Range("F" & filD).PasteSpecial xlPasteValues
'repetir para cada col
'--------------------------
'Guardar el libro de Excel destino. Opcional: cerrarlo
wbDestino.Save
'quitar el filtrado: opcional
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
End Sub

PD) Te estoy devolviendo los libros con el código ejecutado para que veas el resultado (parcial, falta que completes el pase a cada columna siguiendo el ejemplo de la primera).

Nota: Lamento que hayas valorado antes de recibir la respuesta. Verás que merece una valoración mejor, ¿no te parece?

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas