ich habe ein kleines Problem mit einem Such Makro für eine ListBox.
In die ListBox lese ich Excel-Arbeitsmappen aus einem Ordner ein.
Die Dateinamen haben immer denselben Aufbau:
STATUS_5432_Nachname.xlsx
Das Wort Status wird gefolgt von einer eindeutigen Nummer und einem individuellen Nachname.
Mein bisheriges Makro kann nicht direkt nach dem individuellen Nachnamen oder der eindeutigen Nummer suchen,
sondern es ist nur möglich, wenn ich erst Status_5432_.... eingebe.
Könnt ihr mir helfen, wie ich das untenstehende Makro umbauen kann, damit ich nach der 4-stelligen Zahl bzw. dem Nachname suchen kann?
Vielen Dank für eure Hilfe!
Beste Grüße
Chris
Code zum Einlesen:
Private Sub UserForm_Initialize()
Filename = Dir(ThisWorkbook.Path & "\Statusdatenbank\*.xlsx", vbNormal)
Do While Len(Filename) > 0
Laden.ListBox_Suchergebnisse.AddItem Filename
Filename = Dir()
Loop
ListBox_Suchergebnisse.ListStyle = fmListStyleOption
ListBox_Suchergebnisse.MultiSelect = fmMultiSelectSingle
End Sub
Code zum Durchsuchen: (Das Makro zum Durchsuchen der Nummer ist identisch, außer TextBox_Nummer)Private Sub TextBox_Nachname_Change()
Dim i As Integer
Dim lngLaenge As Long
Dim strText As String
Laden.ListBox_Suchergebnisse.Clear
UserForm_Initialize
lngLaenge = Len(Laden.TextBox_Nachname.Value)
If Left(Laden.TextBox_Nachname.Value, 1) = "*" Then
strText = LCase(Replace(Laden.TextBox_Nachname.Value, "*", ""))
For i = Laden.ListBox_Suchergebnisse.ListCount - 1 To 0 Step -1
If InStr(Laden.ListBox_Suchergebnisse.List(i, 0), strText) > 0 Then
Else
Laden.ListBox_Suchergebnisse.RemoveItem i
End If
Next i
Else
For i = Laden.ListBox_Suchergebnisse.ListCount - 1 To 0 Step -1
If Left(Laden.ListBox_Suchergebnisse.List(i, 0), lngLaenge) = Laden.TextBox_Nachname.Value _
Then
Else
Laden.ListBox_Suchergebnisse.RemoveItem i
End If
Next i
End If