Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Combobox als Filter (ohne Dupli) für Listbox

Combobox als Filter (ohne Dupli) für Listbox
07.05.2019 13:41:37
Chriss
Hallo zusammen,
nachdem ich heute bereits so tolle Hilfe erhalten habe, versuche ich mein Glück noch mit einem anderen Problem.
Es geht darum, dass ich eine Combobox als Filter für eine Listbox verwenden möchte.
Die Quelle der Combobox weist Duplikate auf, dieses soll vermieden werden. Ziel ist hier eine eindeutige Liste.
Sobald dann eine Auswahl in der Combobox getroffen worden ist, sollen nur noch alle Einträge der Listbox, welche in Spalte 3 identisch mit der Auswahl in der Combobox sind, angezeigt werden. Praktisch ein Filter.
Das ist hoffentlich nicht so arg komplex.
Ich bedanke mich im Voraus für eure helfende Hand :-).
Bin sehr froh, dass es so viele hilfsbereite Menschen gibt.
Datei:
https://www.herber.de/bbs/user/129639.xlsm
VG,
Chriss

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox als Filter (ohne Dupli) für Listbox
07.05.2019 16:49:41
Beverly
Hi Chriss,
Option Explicit
Private Sub UserForm_Activate()
Dim Rng As Range
Dim x As Integer, i As Integer
Dim objDictionary As Object
Dim varBereich As Variant
Dim lngZaehler As Long
Dim arrDaten As Variant
Set objDictionary = CreateObject("Scripting.Dictionary")
With Worksheets("Tabelle2")
x = .Cells(Rows.Count, 1).End(xlUp).Row
For Each Rng In .Range("A2:A" & x)
ListBox.AddItem
i = ListBox.ListCount - 1
ListBox.List(i, 0) = Rng.Value
ListBox.List(i, 1) = Rng.Offset(0, 1).Value
ListBox.List(i, 2) = Rng.Offset(0, 2).Value
Next
varBereich = .Range("L2", .Range("L2").End(xlDown))
For lngZaehler = LBound(varBereich) To UBound(varBereich)
objDictionary(varBereich(lngZaehler, 1)) = 0
Next
arrDaten = objDictionary.keys
End With
Me.ComboBox.List = arrDaten
End Sub
Private Sub ComboBox_Change()
Dim rngZelle As Range
Dim lngLetzte As Long
With Worksheets("Tabelle2")
lngLetzte = .Range("C2").End(xlDown).Row
Me.ListBox.Clear
For Each rngZelle In .Range(.Cells(2, 3), .Cells(lngLetzte, 3))
If rngZelle.Value = Me.ComboBox.Value Then
ListBox.AddItem
ListBox.List(ListBox.ListCount - 1, 0) = rngZelle.Offset(0, -2).Value
ListBox.List(ListBox.ListCount - 1, 1) = rngZelle.Offset(0, -1).Value
ListBox.List(ListBox.ListCount - 1, 2) = rngZelle.Value
End If
Next rngZelle
End With
End Sub


Anzeige
AW: Combobox als Filter (ohne Dupli) für Listbox
07.05.2019 17:15:14
Chriss
Hi Karin,
super, klappt alles perfekt! Vielen DANK für deine Hilfe und die aufgewendete Zeit :-)!!!
LG,
Chriss

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige