ich bin neu hier im Forum und bzgl. VBA eher Anfänger.
Dank der vielen Beiträge habe ich mir einige Dinge "stricken" können, aber an folgendem Punkt komme ich nicht weiter:
In einer UserForm lade ich in eine Listbox mit mehreren Spalten Daten aus einer Tabelle - das klappt soweit.
Aber: wie kann ich nun eine Suchfunktion für die Listbox erstellen? Also bspw. eine Textbox, in die man ein Suchbegriff für eine Spalte in der Listbox eingibt und die Listbox dann automatisch gefiltert wird? Oder vielleicht konkreter: in meinem Fall stehen in der Spalte 2 Nachnamen. Wenn ich nun in der "Such-Textbox" den buchstaben "a" schreibe, möchte ich, dass die Listbox entsprechend nach Namen gefiltert wird, die mit "a" beginnen. Idealerweise dann fortlaufend, also bei "ab" Namen die mit "ab" beginnen usw.
mein Code zum Füllen der Listbox ist folgender:
Private Sub UserForm_Initialize()
Dim arrData As Variant, iLastRow As Integer
With Worksheets("Datensatz")
iLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
arrData = .Range(.Cells(4, 1), .Cells(iLastRow, 9)).Value
End With
With ListBox1
.ColumnCount = 8
.ColumnWidths = "5cm;5cm;4cm;2cm;3cm;1,5cm;2cm;3cm;"
.ColumnHeads = False
.List() = arrData
.ListIndex = .ListCount - 1
End With
End Sub