ich möchte gerne in einer ListBox mir nur die Daten anzeigen lassen, die in Spalte B einen bestimmten Begriff haben.
Also: Listbox = Daten aus Spalte A nur dann anzeigen, wenn in Spalte B die Zahl 1 steht.
Danke schon mal im Voraus für die Hilfe.
Private Sub UserForm_Activate()
Dim rngZelle As Range
Dim strStart As String
Dim lngLetzte As Long
' letzte belegte Zeile in Spalte A ermitteln
lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), _
Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
' in Spalte B nach 1 suchen, dabei nach der letzten belegten Zeile beginnen
Set rngZelle = Columns(2).Find(1, lookat:=xlWhole, after:=Cells(lngLetzte, 2))
' 1 wurde gefunden
If Not rngZelle Is Nothing Then
' Adresse der gefundenen Zelle auf die Variable schreiben
' ist erforderlich, damit die Suchschleife verlassen werden kann, wenn die
' erste gefundene Zelle erneut gefunden und die Schleife nicht endlos läuft
strStart = rngZelle.Address
' Schuchschleife
Do
' Zelle links von der gefundenen Zelle in die ListBox schreiben
ListBox1.AddItem rngZelle.Offset(0, -1)
' nächsten Treffer suchen
Set rngZelle = Columns(2).FindNext(rngZelle)
' Schleife so lange durchlaufen bis 1 nicht mehr gefunden wird und
' die Adresse der gefundenen Zelle von der Startadresse ist
Loop While Not rngZelle Is Nothing And strStart rngZelle.Address
End If
End Sub
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen