Para Dante - Reconocer recocer código y autocompletar datos

Estimado

Tengo un formulario con 12 textbox de los cuales el textbox 5 y 6 tienen una relación. Te explico

En el textbox5 coloco el numero de documento de una persona y en el textbox6 coloco el nombre de esa persona. Esto es una acto repetitivo. Coloco el numero y escribo el nombre de la persona.

Quisiera escribir el numero de documento y el nombre de la persona una sola ves y que en la siguiente solo tenga que escribir el numero de documento y que se autocomplete el nombre claro con la posibilidad de editar el nombre.

Gracias

1 Respuesta

Respuesta
1

A qué te refieres " y que en la siguiente", es decir, otro día, ¿o la siguiente vez que captures el mismo número de documento?

Si una persona solamente tiene un número de documento, entonces te recomiendo que en alguna hoja crees el catálogo de números y nombres, de esta forma, siempre que pongas un número que exista en ese catálogo en automático podemos hacer que te ponga el nombre de la persona.

Si tu capturas un número y un nombre y cierras el formulario, esos datos se pierden, esos datos estaban en memoria mientras tenías abierto el userform, pero cuando cierras el userform los datos en memoria se destruyen. Entonces tienes que almacenar en alguna hoja los datos para poderlos consultar posteriormente.

Dime si vas a crear la hoja para armar la búsqueda automática.

Si voy a crear la hoja la hoja para la búsqueda automática.

La Hoja se llama LISTA la columna A contiene el Numero de documento y la columna B El nombre de la persona. Cada columna tienen encabezado.

Te recomiendo que cambies tu textbox5 por un combobox, de esa forma podemos cargar en el combo todos los números y puedes elegir un número o capturarlo, después de capturarlo o seleccionarlo, buscamos el nombre en la hoja lista.

Crea un combobox y pon el siguiente código en tu formulario

Private Sub ComboBox1_Change()
'Por.Dante Amor
    Set b = Sheets("LISTA").Columns("A").Find(ComboBox1)
    If Not b Is Nothing Then
        TextBox6 = Sheets("LISTA").Cells(b.Row, "B")
    End If
End Sub
Private Sub UserForm_Activate()
'Por.Dante Amor
    ComboBox1.RowSource = "LISTA!A2:A" & Sheets("LISTA").Range("A" & Rows.Count).End(xlUp).Row
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas