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