ich schon wieder :D
Beim Rumbasteln habe ich gerade festgestellt, dass es keine elegante Lösung ist eine ListBox mit 85 Spalten und 500 Zeilen nach einem bestimmten Wert einer TextBox durchsuchen zulassen. Das habe ich hiermit gemacht:
Private Sub CommandButton_Suchen_Click()
Dim lngRow As Long, lngColumn As Long
Dim blnFound As Boolean
Dim strText As String
strText = TextBox1.Text
With ListBox_Liste
For lngRow = .ListCount - 1 To 2 Step -1
blnFound = False
For lngColumn = 0 To .ColumnCount - 1
If InStr(1, .List(lngRow, lngColumn), strText, vbTextCompare) 0 Then
blnFound = True
Exit For
End If
Next
If Not blnFound Then Call .RemoveItem(lngRow)
Next
End With
End Sub
Die Laufzeit des Makros ist schrecklich lang, teilweise bekommt man deshalb sogar Laufzeitfehler. Daher denke ich, macht es mehr Sinn in der Excel Tabelle direkt mit dem Wert aus der TextBox zu arbeiten und die Zeilen in denen der Wert gefunden wurde in die ListBox zu übergeben.
Hat jemand hier eine Idee für mich? Bei meiner Recherche habe ich nur Makros gefunden, bei denen der Wert der TextBox, nach dme gesucht wird, in einer bestimmten Spalte stehen darf. Bei mir kann der Wert aber in jeder belibigen Spalte stehen.
LG