Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1580to1584
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

Suchfunktion in Userform

Suchfunktion in Userform
13.09.2017 10:48:19
Dennis
Hallo Zusammen,
ich habe bislang eine Userform mit diversen TextBox'n und ComboBox'n, welche nur zum Daten anlegen und verändern sind. Desweiteren kann man über eine ListBox1 einen Datensatz auswählen und löschen.
Nun soll eine Freifeldsuche eingefügt werden, welche die gesamte Tabelle1 nach dem Text aus TextBox14 durchsucht und die Treffer in ListBox1 ausgibt. Die Suche soll immer aktualisiert werden wenn etwas in TextBox14 geändert wird. Dafür habe ich folgenden Code ins Change-Event gepackt.
Private Sub TextBox14_Change()
Dim i As Integer, ii As Integer
Dim vntList, strTxt As String, arrSelected()
If TextBox14 = "" Then
ListBox1.ListIndex = 0
Else
strTxt = LCase(TextBox14)
vntList = ListBox1.List
ReDim arrSelected(ListBox1.ListCount - 1)
For i = 0 To ListBox1.ListCount - 1
For ii = 0 To ListBox1.ColumnCount - 1
arrSelected(i) = InStr(LCase(vntList(i, ii)), strTxt) > 0
If arrSelected(i) Then Exit For
Next
Next
With ListBox1
For i = 0 To .ListCount - 1
.Selected(i) = arrSelected(i)
Next
End With
End If
End Sub
Nun wird allerdings nur ein Wert "gefunden" (wohl immer der Letzte im Bezug auf den ListIndex) und lediglich in der gesamten ListBox markiert.
Wie kann ich denn nun die ListBox1 "live" aktualisieren mit allen Treffern wo der Suchbegriff enthalten ist?
Eine Beispieldatei ist hier zufinden:
https://www.herber.de/bbs/user/116122.xlsm
Vielen Dank im Vorwege
Dennis

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige