Filter der ListBox durch mehrere ComboBoxen
#1
Hallo zusammen, 

mich umtreibt gerade ein vermeintlich einfacheres Thema, wo ich mal wieder auf dem Schlauch stehe. 

Ich habe 4 ComboBoxen:

ComboBox7 (in Spalte 6 filtern)
ComboBox8 (in Spalte 5 filtern)
ComboBox9 (in Spalte 1 filtern)
ComboBox10 (in Spalte 9 filtern)

Womit ich bei Auswahl eines Begriffs die ListBox unten gefiltert haben möchte. 

Und im Zweifel möchte ich mir alle wieder anzeigen lassen. Also am besten mit der Begriffsauswahl "Alle" o.ä.

Anbei dazu meine Tabelle mit der Userform.

Vielen Dank!!!


Angehängte Dateien
.xlsm   Liste.xlsm (Größe: 88,48 KB / Downloads: 9)
Top
#2
Hallöchen,

ohne Deine Datei angeschaut zu haben ein Hinweis: Leere die Listbox und fülle sie entsprechend der Filterauswahl. Du musst dazu die Listbox per Code füllen. Falls Du sie mit Rowsource füllst, das geht nicht.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Egon12
Top
#3
Hallo,
 
so wie du das möchtest funktioniert das nicht. Aber einen kleinen Hoffnungsschimmer, wenigstens eine einfache Suchmöglichkeit zu haben schon - über den Inhalt der Listbox mit 'nem Like Operator.
 
Nimm statt einer Combobox eine Textbox und dann gibst du den Suchbegriff ein, welcher in den von dir genannten Spalten sucht.


Code:
Private Sub Txt_Search1_Change()
Dim zeile As Long, i As Integer, z As Integer, arrdata as Variant
LISTE_LADEN_UND_INITIALISIEREN

    ReDim arrdata(1 To ListBox1.ListCount, 1 To ListBox1.ColumnCount - 1)
    For i = 1 To ListBox1.ListCount
        For z = 1 To 10
            arrdata(i, z) = ListBox1.List(i - 1, z - 1)
        Next z
    Next i

Me.ListBox1.Clear
Me.ListBox1.List = arrdata

For zeile = Me.ListBox1.ListCount - 1 To 0 Step -1
   
    With ListBox1
        If .List(zeile, 1) Like "*" & Me.Txt_Search1 & "*" _
            Or .List(zeile, 5) Like "*" & Me.Txt_Search1 & "*" _
            Or .List(zeile, 6) Like "*" & Me.Txt_Search1 & "*" _
            Or .List(zeile, 9) Like "*" & Me.Txt_Search1 & "*" Then
        Else
            ListBox1.RemoveItem (zeile)
        End If
    End With
Next

End Sub

Gruß Uwe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste