Que tal amigo! ¿En un formulario de excel tengo un combobox y quiero que autocomplete no importando el orden de las letras?

Es decir si tengo el nombre de Ramírez Froyland pueda buscarlo en el combobox como Froylan o froy etc.. Esto con la finalidad de lograr un directorio telefónico que al seleccionar el nombre correcto la información correspondiente pase a los textbox completando la información de la persona seleccionada

Respuesta
1

H o l a: Te anexo el código para cargar el combo.

Observa que la variable cargando debe estar al principio de todo el código.

Cambia "Hoja2", "A" y 2 por los valores donde tienes tus nombres.

Dim cargando
'
Private Sub ComboBox1_Change()
'Por.Dante Amor
    Application.ScreenUpdating = False
    If cargando = True Then Exit Sub
    Set h2 = Sheets("hoja2")            'hoja de nombres
    col = "A"                           'columna de nombres
    fil = 2                             'fila inicial
    cargando = True
    dato = ComboBox1
    ComboBox1.Clear
    For i = fil To h2.Range(col & Rows.Count).End(xlUp).Row
        If UCase(h2.Cells(i, col)) Like "*" & UCase(dato) & "*" Then
            ComboBox1.AddItem h2.Cells(i, col)
        End If
    Next
    ComboBox1 = dato
    '
    'Se activa otro control para que aparezca el combo completo
    TextBox1. SetFocus
    ComboBox1. SetFocus
    ComboBox1. DropDown
    '
    Application.ScreenUpdating = True
    cargando = False
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    Set h2 = Sheets("hoja2")            'hoja de nombres
    col = "A"                           'columna de nombres
    fil = 2                             'fila inicial
    For i = fil To h2.Range(col & Rows.Count).End(xlUp).Row
        ComboBox1.AddItem h2.Cells(i, col)
    Next
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas