Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

In der ListBox einen Filter anwenden
#1
Liebe Community

Ich verzweifle fast an der ListBox... Ich hoffe Ihr könnt mir weiterhelfen :)

Ausgangslage:

Ich habe ein UserForm mit einer Combobox, welches wenn dies ausgewählt wird soll es den Wert in einem Tabellenblatt suchen und anschliessend den gefundenen Wert inkl. 4 weitere Werte in der geleichen Spalte in die ListBox schreiben. Nun brauche ich gewisse Zeilen nicht welche jedoch die die Combobox Value enthalten ist. Darum möchte ich einen AutoFilter einbauen.

Ungefähr so...

Listbox

column 1 ¦ column 2 ¦ column 3 ¦ column 4 ¦ column 5 ¦
---------------------------------------------------------------------
Such erg. ¦ wert       ¦ wert        ¦ wert        ¦ wert       
       ¦            ¦
       ¦            ¦
       ¦             > Beim Column 2 möchte ich gerne einen filter, dass nur das angezeigt wird welches einen Wert enthält ?
       > Hier möchte ich, dass es eindeutig den Wert sucht und findet? im Moment kommt alles was mit diesem Wert vorkommt. vom ganzen Tabellenblatt obwohl ich die range definiert habe


Mein Code sieht wie folgt aus:

Private Sub ComboBox1_change()
 
 Dim s As String
 Dim Found As Range
 Dim FirstAddress As String
 Dim I As Integer ' Zeile
 On Error Resume Next
 I = 0
 
 s = Trim(ComboBox1.Value) 'Sucheingabe über ComboBox1 steuern
 If s = "" Then Exit Sub
 ListBox2.Clear
 With Worksheets("Bestellübersicht").Range("B:B")
  Set Found = .Cells.Find(what:=s, LookAt:=xlPart)
 
  If Not Found Is Nothing Then
    FirstAddress = Found.Address
    ListBox2.ColumnCount = 5 'Gibt die Werte der gefundenen Treffer an (Spaltenbezogen)
    Do
      ListBox2.AddItem Found
      ListBox2.List(I, 1) = Cells(Found.Row, 24)
      ListBox2.List(I, 2) = Cells(Found.Row, 6)
      ListBox2.List(I, 3) = Cells(Found.Row, 9)
      ListBox2.List(I, 4) = Cells(Found.Row, 10)
      Set Found = Cells.FindNext(after:=Found)
      If Found.Address = FirstAddress Then Exit Do
      I = I + 1
    Loop
  End If
  End With
End Sub

Ich danke euch schon im Voraus für eure Hilfe.
Cheers rizzo91
Antworten Top
#2
Anbei noch die Beispiel Datei


Angehängte Dateien
.xlsm   Beispieldatei.xlsm (Größe: 740,03 KB / Downloads: 5)
Antworten Top
#3
Hallo,

zu finden auch hier http://www.office-fragen.de/index.php/to...904.0.html - wobei, was mich betrifft, ich drüben aus dem Beitrag raus bin.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#4
Hallöchen,

kapsle die Zeilen für die Füllung der Listbox erst mal in eine Bedingung, im Prinzip so:
If Found = s then
...
End If
Und nimm dort den Zähler I mit rein.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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