Autosuggest en combobox excel vba

Un saludoprimero, mi consulta es cómo se puede hacer un combobox tipo autosuggest en excel vba, es decir que al escribir cualquier parte de la palabra la encuentre, si la palabra es "Oficina Central de Notificaciones", al escribir "Central" o "Notif" o culaquier parte, me muestre los valres con coincidencia en el combobox para seleccionarlo.

1 Respuesta

Respuesta
1

Envíame tu archivo para adaptar la macro.

R ecuerda poner tu nombre de usuario en el asunto.

ahí te envié el archivo, intenté utilizar esto en los eventos del Combobox. Principalmente meinteresa el combobox4 del userform1.

Private Sub ComboBox4_Change()

'Dim Texto As Variant
'Dim Caracter As Variant
'Dim Largo As String
'On Error Resume Next
'Texto = Me.ComboBox4.Value
'Largo = Len(Me.ComboBox4.Value)
'For i = 1 To Largo
'Caracter = CInt(Mid(Texto, i, 1))
'If Caracter <> "" Then
'If Not Application.WorksheetFunction.IsText(Caracter) Then
'Me.ComboBox4.Value = Replace(Texto, Caracter, "")
'Else
'End If
'End If
'Next i
'On Error GoTo 0

End Sub

Private Sub ComboBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'If KeyCode = 8 Then
'IgnoreChange = True
'End If
End Sub

Al principio del código necesitas la variable global

Dim cargando

También necesitas que el combobox4 tenga la siguiente propiedad:

ComboBox4.MatchEntry = fmMatchEntryNone

Te anexo la macro

Private Sub ComboBox4_Change()
'---
'   Por.Dante Amor
'---
    If cargando = True Then Exit Sub
    cargando = True
    dato = ComboBox4.Value
    ComboBox4.Clear
    For Each celda In Range("Edificios")
        If UCase(celda.Value) Like "*" & UCase(dato) & "*" Then
            ComboBox4.AddItem celda.Value
        End If
    Next
    ComboBox4.Value = dato
    '
    'Se activa otro control para que aparezca el combo completo
    TextBox1. SetFocus
    ComboBox4. SetFocus
    ComboBox4. DropDown
    '
    cargando = False
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas