Listbox Einträge mit dieser cleveren Lösung sofort finden
Ich zeige dir Schritt für Schritt, wie du eine Listbox durchsuchen kannst.
Schritt 1: UserForm designen
Beginne damit, eine UserForm zu erstellen und eine Listbox hinzuzufügen. Zusätzlichen benötigst du ein Textfeld, um deine Suchanfrage eingeben zu können.
Schritt 2: Listbox befüllen
Nun musst du deine Listbox mit den entsprechenden Daten beim Aufrufen der UserForm befüllen.
Die effektivsten Methoden, um deine Listbox zu befüllen zeige ich in diesem Blogbeitrag.
Schritt 3: Suchfunktion erstellen
Sobald im Suchfeld etwas eingegeben wird, soll jetzt die Listbox entsprechend durchsucht und nur Datensätze angezeigt werden, die mit dem Suchwert übereinstimmen.
Hier findest du ein Codebeispiel:
Code (UserForm)
Private Sub UserForm_Initialize()
Dim Zeile As Long
'Schleife über alle Zeilen der Tabelle
For Zeile = 12 To Verkaeufe.Cells(Rows.Count, 2).End(xlUp).Row
Me.ListBox1.AddItem Verkaeufe.Cells(Zeile, 2)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Verkaeufe.Cells(Zeile, 6)
Next Zeile
'Erstes Element als Default auswählen
Me.ListBox1.Selected(0) = True
End Sub
Private Sub TextBox1_Change()
Dim Zeile As Long
Me.ListBox1.Clear
'Schleife über alle Zeilen der Tabelle
For Zeile = 12 To Verkaeufe.Cells(Rows.Count, 2).End(xlUp).Row
If InStr(1, LCase(Verkaeufe.Cells(Zeile, 6).Value), LCase(Me.TextBox1.Value)) <> 0 Or _
InStr(1, LCase(Verkaeufe.Cells(Zeile, 2).Value), LCase(Me.TextBox1.Value)) <> 0 Then
Me.ListBox1.AddItem Verkaeufe.Cells(Zeile, 2)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Verkaeufe.Cells(Zeile, 6)
End If
Next Zeile
'Bereitgestellt von VBATrainer: www.vbatrainer.de
End Sub
Code (Modul)
Sub UfSucheLaden()
UfVerkaufLaden.Show
'Bereitgestellt von VBATrainer: www.vbatrainer.de
End Sub
Ich hoffe diese Anleitung hilft dir dabei, deine Anwendungen benutzerfreundlicher zu gestalten.
Um VBA zu lernen und besser zu verstehen, empfehle ich dir auch mein kostenloses Grundlagentraining, in dem ich dir die ersten Schritt in Excel-VBA zeige.