Michelle1292
Grünschnabel
Hallo zusammen,
ich habe eine ListBox erstellt mit insgesamt 196 Ländern, welche ausgewählt werden können und dann in ein Word Formular übertragen werden. Durch die Anzahl der Auswahlmöglichkeiten ist das Ganze etwas unübersichtlich und ich würde gerne eine Suchfunktion einbauen. Mir der von mir gewählten Programmierung klappt es nicht so wie ich mir das vorstelle. Ich kann nur nach vollständiger Übereinstimmung suchen (z.B. wenn ich "Deutschland" eingebe). Ich würde allerdings auch gerne nach Teilübereinstimmungen (z.B. "Deu") suchen können. Kann mir jemand sagen was ich falsch mache?
Achtung: Ich bin blutiger Anfänger, wenn ihr mir helfen könnt dann bitte eine Erklärung für Dummies
So funktioniert die Suche, allerdings nur bei vollständiger Übereinstimmung:
Private Sub TextBox1_Change()
Dim myTxt As String, i as Integer
myTxt = UCase(TextBox1.Text)
For i = 0 ListBox1.ListCount -1
If myTxt = UCase(ListBox1.List(i)) Then Exit For / *
Next
If i < ListBox1.ListCount Then ListBox1.ListIndex = i
End Sub
*Wenn ich den Code hier abänder in "If myTxt <= UCase(ListBox1.List(i)) Then Exit For" funktioniert die Suche gar nicht mehr
Für Hilfe wäre ich wirklich sehr dankbar!
Viele Grüße
Michelle
ich habe eine ListBox erstellt mit insgesamt 196 Ländern, welche ausgewählt werden können und dann in ein Word Formular übertragen werden. Durch die Anzahl der Auswahlmöglichkeiten ist das Ganze etwas unübersichtlich und ich würde gerne eine Suchfunktion einbauen. Mir der von mir gewählten Programmierung klappt es nicht so wie ich mir das vorstelle. Ich kann nur nach vollständiger Übereinstimmung suchen (z.B. wenn ich "Deutschland" eingebe). Ich würde allerdings auch gerne nach Teilübereinstimmungen (z.B. "Deu") suchen können. Kann mir jemand sagen was ich falsch mache?
Achtung: Ich bin blutiger Anfänger, wenn ihr mir helfen könnt dann bitte eine Erklärung für Dummies

So funktioniert die Suche, allerdings nur bei vollständiger Übereinstimmung:
Private Sub TextBox1_Change()
Dim myTxt As String, i as Integer
myTxt = UCase(TextBox1.Text)
For i = 0 ListBox1.ListCount -1
If myTxt = UCase(ListBox1.List(i)) Then Exit For / *
Next
If i < ListBox1.ListCount Then ListBox1.ListIndex = i
End Sub
*Wenn ich den Code hier abänder in "If myTxt <= UCase(ListBox1.List(i)) Then Exit For" funktioniert die Suche gar nicht mehr
Für Hilfe wäre ich wirklich sehr dankbar!

Viele Grüße
Michelle