Combobox-vervollständigung

ich habe in einem programm eine combobox in verwendung und möchte jetzt gerne dass wenn der anfängt in der combobox zu schreiben automatisch nach einträgen sucht die passen und dann diesen in die combobox schreibt

Hi Schorsch !

Das ist genau das was Du brauchst !

Private Sub Combo1_Change()

Dim li_idx As Integer
Dim li_SelStart As Integer

prb_KatGef = False

With Me.Combo1
li_SelStart = .SelStart

For li_idx = 0 To .ListCount - 1
If UCase(Left(.List(li_idx), li_SelStart)) = UCase(Left(.Text, li_SelStart)) Then
.ListIndex = li_idx
Me.txtKatNr.Text = .ItemData(li_idx)
.SelStart = li_SelStart
.SelLength = Len(.Text) - li_SelStart
prb_KatGef = True
Exit For
End If
Next
End With

End Sub

Private Sub Combo1_Click()
prb_KatGef = True
Me.txtKatNr.Text = Me.Combo1.ItemData(Me.Combo1.ListIndex)
End Sub

Private Sub Combo1_KeyPress(KeyAscii As Integer)

With Me.Combo1
If KeyAscii = vbKeyBack And .SelStart > 0 Then 'BackSpace
.SelStart = .SelStart - 1
.SelLength = .SelLength + 1
End If
End With

End Sub

Ciao
Mario

ich habe in einem programm eine combobox in verwendung und
möchte jetzt gerne dass wenn der anfängt in der combobox zu
schreiben automatisch nach einträgen sucht die passen und dann
diesen in die combobox schreibt

Der vorgeschlagene Code funktioniert zwar ist aber bei einer Menge Einträgen eher langsam. Ich empfehle mal ein Durchlesen des „SendMessageApi“ , dass Parameter bietet innerhalb einer Combobox oder auch einer Listbox übers API suchen zu lassen und direkt den entsprechenden Listindexeintrag zurückliefert.

Grüsse, Stephan