Copiar datos de una hoja Excel a otra del mismo libro en unos campos determinados.

A ver si me podéis echar una mano en siguiente problema. En el enlace adjunto hay un libro con dos hojas; una para factura y otra para clientes. Lo que quiero es seleccionar un cliente con doble clic o mediante un botón y que se copien todos los datos de la ficha del cliente en los campos establecidos para ello en la factura.

https://www.dropbox.com/s/b48i81lkj80jdp3/FACTURA.xlsm?dl=0

1 respuesta

Respuesta
1

Te anexo el código para el botón1, para pasar los datos de clientes a factura

Sub Botón1_Haga_clic_en()
    '
    If ActiveCell.Value = "" Or ActiveCell.Row < 2 Or ActiveCell.Column <> 2 Then
        MsgBox "Selecciona un cliente de la columna B"
        Exit Sub
    End If
    fila = ActiveCell.Row
    Set h1 = ActiveSheet
    Set h2 = Sheets("FACTURA")
    '
    H2. Range("F10").Value = h1. Cells(fila, "B") 'cliente
 h2. Range("F12").Value = h1. Cells(fila, "C") 'direc
 h2. Range("F13").Value = h1. Cells(fila, "D") 'mun
 h2. Range("F11").Value = h1. Cells(fila, "E") 'nif
 h2. Range("H13").Value = h1. Cells(fila, "F") 'cp
 h2. Range("H12").Value = h1. Cells(fila, "G") 'email
 h2. Range("H14").Value = h1. Cells(fila, "H") 'tel
    MsgBox "Datos del cliente copiados"
End Sub

Va el archivo con la macro

https://www.dropbox.com/s/ru5f6335z2iuyqo/FACTURA%20dam.xlsm?dl=0 


.

.

¡Gracias! Por su pronta respuesta es perfecto justo lo que quería.

Saludos y gracias de nuevo

Una ultima pregunta,  Como seria la macro si facturas y clientes estuviesen en libros separados

La macro debe estar en el archivo con la hoja clientes.

El "otro libro" con la hoja "factura" debe estar abierto.

Quedaría así

Sub Botón1_Haga_clic_en()
    '
    If ActiveCell.Value = "" Or ActiveCell.Row < 2 Or ActiveCell.Column <> 2 Then
        MsgBox "Selecciona un cliente de la columna B"
        Exit Sub
    End If
    fila = ActiveCell.Row
    Set h1 = ActiveSheet
    '
    Set l2 = Workbooks("otro libro.xlsx")
    Set h2 = l2.Sheets("FACTURA")
    '
    H2. Range("F10").Value = h1. Cells(fila, "B") 'cliente
 h2. Range("F12").Value = h1. Cells(fila, "C") 'direc
 h2. Range("F13").Value = h1. Cells(fila, "D") 'mun
 h2. Range("F11").Value = h1. Cells(fila, "E") 'nif
 h2. Range("H13").Value = h1. Cells(fila, "F") 'cp
 h2. Range("H12").Value = h1. Cells(fila, "G") 'email
 h2. Range("H14").Value = h1. Cells(fila, "H") 'tel
    MsgBox "Datos del cliente copiados"
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas