Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox durchsuchen

Listbox durchsuchen
02.05.2019 15:13:42
Tim
Hallo zusammen,
ich habe einen Code der es mir ermöglicht, Suchbegriffe in einer Tabellenspalte zu suchen, dabei findet er auch Treffer, wenn Teile des Suchbegriffes gefunden werden. Das Ganze funktioniert gut.
Jetzt würde ich gern diese Funktion nutzen wollen, um in einer Listbox zu suchen und bei Treffern die jeweilige Zeile ausgewählt wird (Mehrfachauswahl), jedoch bekomme ich das nicht umgebaut.
Wer kann mir dabei helfen?
Sub Suchfunktion()
Dim wksDaten As Worksheet, rng As Range, raListbox As Range
Dim wkbDaten As Workbook
Dim loLetzte As Long, loSpalte As Long, strSuchbegriff As String
Set wkbDaten = Workbooks("Test")
Set wksDaten = wkbDaten.Sheets("Suchen")
With wksDaten
strSuchbegriff = UserForm1.TextBox1
If WorksheetFunction.CountIf(.Columns(2), "*" & strSuchbegriff & "*") = 0 Then
'MsgBox "Der Suchbegriff " & strSuchbegriff & " wurde nicht gefunden."
ElseIf WorksheetFunction.CountIf(.Columns(2), "*" & strSuchbegriff & "*") = 1 Then
Set rng = wksDaten.Columns(2).Find(What:=strSuchbegriff, LookIn:=xlValues, LookAt:= _
xlPart)
MsgBox "gefunden"
End If
End With
Set wksDaten = Nothing: Set rng = Nothing
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox durchsuchen
02.05.2019 15:22:05
Torsten
Hallo Tim,
bei einer Listbox geht das etwas anders.
Also wenn du den Suchbegriff in eine Textbox eingibst und die Suche dann mit einem Button aktivierst, dann diesen Code auf den Button:

Private Sub CommandButton1_Click()
Dim i As Long
With Userform1.Listbox1
If TextBox1 = "" Then Exit Sub
.MultiSelect = fmMultiSelectMulti
For i = 0 To .ListCount - 1
If .List(i) = TextBox1.Text Then
.Selected(i) = True
End If
Next
End With
End Sub
Gruss Torsten
AW: Listbox durchsuchen
02.05.2019 16:15:26
Tim
Hallo Torsten,
vielen Dank für deine schnelle Lösung! Diese funktioniert perfekt wenn Textbox & Listboxeintrag identisch sind, jedoch ist der Suchbegriff nicht immer identisch.
Bsp.: in der Textbox wird der Begriff "Test" eingegeben und ein Zeileneintrag in der Listbox enthält "gehört zu Test" oder auch "der Test war erfolgreich", dann wären das auch Treffer, die markiert werden sollen.
Anzeige
AW: Listbox durchsuchen
02.05.2019 16:29:31
Nepumuk
Hallo Torsten,
teste mal:
If .List(i) Like "*" & TextBox1.Text & "*" Then

Gruß
Nepumuk
AW: Listbox durchsuchen
02.05.2019 16:44:27
Tim
Hallo Nepumuk,
deine Code brachte die Lösung, vielen Dank!
Bei Textbox leer steht Exit jedoch werden die vorhergehenden Markierungen nicht wieder aufgehoben, woran liegt das!?
AW: Listbox durchsuchen
02.05.2019 17:00:56
Werner
Hallo Tim,
da mußt du dann auch in einer Schleife über die Listboxeinträge und die gesetzten wieder raus nehmen.
Private Sub CommandButton1_Click()
Dim i As Long
With UserForm1.ListBox1
.MultiSelect = fmMultiSelectMulti
If Me.TextBox1 = "" Then
For i = 0 To .ListCount - 1
If .Selected(i) Then .Selected(i) = False
Next i
Exit Sub
End If
For i = 0 To .ListCount - 1
If .List(i) Like "*" & TextBox1.Text & "*" Then
.Selected(i) = True
End If
Next
End With
End Sub
Gruß Werner
Anzeige
AW: Listbox durchsuchen
03.05.2019 08:11:33
Tim
Vielen Dank an alle, funktioniert wie gewünscht!
Gerne u. Danke für die Rückmeldung. o.w.T.
03.05.2019 08:42:44
Werner
AW: Listbox durchsuchen
02.05.2019 17:06:15
Nepumuk
Hallo Torsten,
teste mal so:
Private Sub CommandButton1_Click()
    Dim lngIndex As Long
    With ListBox1
        If TextBox1.TextLength = 0 Then
            For lngIndex = 0 To .ListCount - 1
                .Selected(lngIndex) = False
            Next
        Else
            For lngIndex = 0 To .ListCount - 1
                .Selected(lngIndex) = .List(lngIndex) Like "*" & TextBox1.Text & "*"
            Next
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige