Copiar datos de una fila a celdas de otra hoja

Buenos días, tengo la siguiente consulta.

Tengo un libro de excel en el que almaceno una serie de datos de clientes. Estos datos se guardan en una única fila de una hoja de excel (nombre, direccion, telefono, etc...). Tengo muchos clientes registrados y cada día la lista va aumentando, ingresando los nuevos datos en la filas inferiores.

Por otra parte, tengo que rellenar una plantilla que está en otro libro con los datos de cada uno de los clientes.

La plantilla y la base de datos se encuentran en la misma carpeta.

Quería saber si es posible crear una macro que haga lo siguiente: Que al ejecutar la macro me copie los datos de un cliente específico a la plantilla que se encuentra en el otro libro. Se podría hacer que copie los datos de la fila donde se encuentre el cursor, por ejemplo. O si hay otro método mejor, perfecto.

Muchas gracias.

1 respuesta

Respuesta
1

Te anexo la macro para copiar los datos de una fila a un archivo "plantilla"

En la macro tienes que poner lo siguiente

- El nombre del libro base

- El nombre de la hoja base

- El nombre del libro "plantilla"

- La hoja del libro "plantilla"

- Las celdas de la "plantilla" y de qué columna de la "base" provienen los datos.

Bueno, como no pusiste todos los datos, tuve que improvisar.

Sub copiar_datos()
'Por.Dante Amor
    Set l1 = Workbooks("Base")
    Set h1 = l1.Sheets("Hoja1")
    libro2 = "Plantilla"
    On Error Resume Next
    Set fila = Application.InputBox("Selecciona una celda de la fila a copiar", _
                "COPIAR DATOS DE LA BASE A LA PLANTILLA", _
                Default:=Selection.Address, Type:=8)
    If fila Is Nothing Then Exit Sub
    On Error GoTo 0
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set l2 = Workbooks.Open(l1.Path & "\" & libro2)
    Set h2 = l2.Sheets("Hoja1")
    H2.Range("A3") = h1. Cells(fila.Row, "A")
    H2.Range("D5") = h1. Cells(fila.Row, "B")
    H2.Range("G7") = h1. Cells(fila.Row, "C")
    L2. Save
    L2. Close
    MsgBox "Datos copiados a la plantilla", vbInformation, "COPIAR DATOS DE LA BASE A LA PLANTILLA"
End Sub

Intenta poner los datos en la macro, si tienes algún detalle avísame y lo reviso.


9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona:  copiar_datos

10. Aceptar.

11. Para ejecutarla dale click a la imagen.


Saludos. Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas