Copiar datos asociados a un registro

Tengo este archivo,

Con un combobox selecciono los nombres. Los cuales después los inserto en la hoja programación. Necesito que dependiendo el nombre, me copie también la cédula y el teléfono correspondientes y los pegue en la hoja programación.

2 respuestas

Respuesta
2

H o l a : Te anexo el código para llenar la hoja programación, me faltan algunos campos pero creo que los puedes poner en la macro sin problemas.

Cada que presiones el botón en automático buscará la cédula y el teléfono y los pondrá en cada uno de los registros.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("Programación")
    Set h2 = Sheets("BD")
    dias = Array("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo")
    If cmbxnombre.ListIndex = -1 Then
        MsgBox "Selecciona un nombre"
        cmbxnombre.SetFocus
        Exit Sub
    End If
    '
    Set b = h2.Columns("D").Find(cmbxnombre, lookat:=xlWhole)
    If b Is Nothing Then
        MsgBox "El nombre no existe"
        cmbxnombre.SetFocus
        Exit Sub
    End If
    '
    ced = h2.Cells(b.Row, "E")
    tel = h2.Cells(b.Row, "F")
    For i = UBound(dias) To LBound(dias) Step -1
        h1.Rows(5).Copy
        h1.Rows(5).Insert shift:=xlDown
        h1.Cells(5, "A") = dias(i)       'dia
        h1.Cells(5, "B") = ced           'cedula
        h1.Cells(5, "C") = cmbxnombre    'nombre
        h1.Cells(5, "D") = tel           'tel
        h1.Cells(5, "E") = cmbxciudad    'ciudad
        h1.Cells(5, "F") = cmbxcargo     'centro de costos
        h1.Cells(5, "G") = cmbxobra      'proyecto
        h1.Cells(5, "H") = cmbxubic      'ubicación
        u = u + 1
    Next
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Respuesta
1

.17/08/16

Buenas noches, Adri

Si te hubiera entendido correctamente, diría que la función BUSCARV, ayudaría a traer esos datos.

A modo de ejemplo supondré que la tabla donde tienes los datos a traer están en el rango D2:G600, de la Hoja2 (otra hoja distinta a donde tienes la programación).

Veo que el nombre de la persona cuyos datos quieres traer están desde la celda C6.
(Asumo que, proviniendo de un combobox, existe y está escrito de la misma manera)

Entonces, escribe la siguiente fórmula en la celda B6, para traer su Cédula:

 =BUSCARV($C6,Hoja2!$D$2:$G$600,2,FALSO)

 [Considera si sueles usar coma o punto y coma para separar argumentos de las funciones. Yo usé ","]

Asígnale el formato deseado y, luego, copia esta celda y pégala en las restantes de esta misma columna.

Luego usa esta fórmula similar en la celda D6 donde irá el teléfono.

 =BUSCARV($C6,Hoja2!$D$2:$G$600,3,FALSO)

Como verás, sólo cambió la columna de donde toma el dato.

Nuevamente, cópia esta celda y llena la columna hacia abajo.

De esta manera, cuando cambies por otro nombre en la columna C, traerá los datos de quien hayas elegido.

Coméntame si es lo que buscabas o si necesitas más apoyo con esto.

Saludos cordiales

Fernando

(Buenos Aires, Argentina)

Hola buenos días.

La fórmula me trae los datos que necesito lo único es que como la información ingresa por medio de un formulario al ingresar un nuevo registro ya no me toma la función.

Agradezco tu colaboración.

.

Ok, Adri, entiendo.

Interpreté que la selección se hacía en celda y no a través de un formulario.

En tal caso, lo correcto sería integrar a ese formulario la función de agregar esa fórmula al listado a medida que se ingresan los datos o que estos aparezcan como los otros que veo en tu lista final (ciudad, centro de costo, etc.)

Alternativamente, podrías tener celdas con la fórmula ya cargada, con un control para que no muestre error cunado no hay dato.

Algo así como esta:

=SI(ESBLANCO($C6),"",BUSCARV($C6,Hoja2!$D$2:$G$600,2,FALSO))

Pero creo que es mejor la primera opción, para lo cual debería conocer la programación de tu formulario.

Saludos

Fernando

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas