ich habe mir eine Userform angelegt, in dem ich ein Suchfeld (TextBox2) habe und eine Listbox, welche mir dynamisch die Suchergebnisse anzeigt, falls er Suchergebnisse findet. Die Suchbegriffe stehen in Spalte B wie z.B.:
Klärung Art der Zertifizierung
Zertifizierung Standort
Mein Problem:
Durch If UCase(Left zeigt er mir ja immer nur die Suchbegriffe an, wenn das Wort auch ganz links in einer Zelle steht. z.B. Klärung Art der Zertifizierung würde gar nicht auftauchen in meiner Listbox.
Ich habe schon etwas mit If UCase(right experimentiert, aber für Fälle, wo die Suchbegriffe in der Mitte stehen, fällt die Lösung raus.
Wie kann ich realisieren, dass er alle Ergebnisse anzeigt, auch wenn das Suchwort nicht ganz rechts oder links steht?
Verwendeter Code:
Private Sub TextBox2_Change()
Application.ScreenUpdating = False
ListBox1.Clear
If TextBox2 = "" Or TextBox2 = " " Then Exit Sub
Dim rng As Range
Dim sAddress As String
Set rng = Sheets("qm").Cells.Find(what:=TextBox2.Text, after:=ActiveCell, LookIn:= _
xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, True
If UCase(Left(rng, Len(TextBox2))) = UCase(TextBox2) Then ListBox1.AddItem _
ActiveCell.Text
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Set rng = Nothing
Application.ScreenUpdating = True
End Sub
Danke für die Hilfe!VG Alex