HERBERS Excel-Forum - das Archiv

Thema: Listbox mit gefilterten Daten füllen

Listbox mit gefilterten Daten füllen
Bargley
Hallo zusammen,

ich habe schon im Archiv einiges zum Thema gefunden und kann mir auch mit dem gefundenen Code eine Listbox mit gefilterten Daten anzeigen lassen.

LB_Artikelliste.List = Evaluate("=SORT(UNIQUE(FILTER(tbl_Name[Artikel],tbl_Name[Unterwarengruppe]=""Einzelblumen"")))")

Das Filterkriterium ist in diesem Fall der String 'Einzelblumen'. Nun möchte ich das Filterkriterium mit einer Variablen bestücken, so dass ich in Abhängigkeit eines Ereignisses mal nach 'Einzelblumen' filtern oder aber z.B. nach 'Blumensträuße'. Ich habe schon mit diversen Stringoperationen versucht eine Variable in den obigen Ausdruck zu setzen, ab da fehlt mir wohl das Wissen. Um den Sachverhalt zu veranschaulichen, lade ich mal das workbook hoch.

Ich würde mich freuen wenn jemand eine Idee hätte, wie das zu bewerkstelligen ist.

Ich bin heute das erste Mal in diesem Forum, daher bin ich noch nicht so in der Nutzung bewandert. Ich habe mit der Schaltfläche 'Beispieldatei hochladen' diese getan, finde die Datei aber nicht in der 'Beitrag Vorschau'. Ich hoffe das sie trotzdem verlinkt ist und zu sehen ist.

VG und noch einen schönen Abend....
AW: Listbox mit gefilterten Daten füllen
Onur
Poste mal die Datei dazu.....
AW: Listbox mit gefilterten Daten füllen
Onur
Hochladen - Link kopieren - Link im Beitag einfügen.
AW: Listbox mit gefilterten Daten füllen
Bargley
Danke für die Info über den Ablauf des Hochladens. Dies erübrigt sich aber jetzt, da im nachfolgenden Posts eine für mich funktionale Lösung gefunden wurde.

Noch einen schönen Tag.
AW: Listbox mit gefilterten Daten füllen
Ulf
Hi,
statt
LB_Artikelliste.List = Evaluate("=SORT(UNIQUE(FILTER(tbl_Name[Artikel],tbl_Name[Unterwarengruppe]=""Einzelblumen"")))") 



Dim strSuche as String
strSuche="Blumensträuße"
LB_Artikelliste.List = Evaluate("=SORT(UNIQUE(FILTER(tbl_Name[Artikel],tbl_Name[Unterwarengruppe]=" & chr(34) & strSuche & chr(34) & ")))")


hth
Ulf
AW: Listbox mit gefilterten Daten füllen
Bargley
Vielen Dank für die superschnelle Lösung meines Problems, es funktioniert reibungslos!
Ich freue mich hier schnelle und kompetente Lösung erhalten zu haben.

VG Bargley
AW: Listbox mit gefilterten Daten füllen
daniel
Hi

mir fallen da drei Varianten ein:

a) schreibe den Filterwert in eine Zelle und verwende die Zelle in der Formel:
Sheets("Tabelle1").Range("A1").value = "Einzelblumen"

LB_Artikelliste.List = Evaluate("=SORT(UNIQUE(FILTER(tbl_Name[Artikel],tbl_Name[Unterwarengruppe]=Tabelle1!A1)))")


b) Variable einbinden (so wie Ulf)
xxx = "Einzelblumen"

LB_Artikelliste.List = Evaluate("=SORT(UNIQUE(FILTER(tbl_Name[Artikel],tbl_Name[Unterwarengruppe]=""" & xxx & """)))")


c) Wert durch Erstzen in die Formel bringen
Filter_Text = "Einzelblumen"

EV_Text = "=SORT(UNIQUE(FILTER(tbl_Name[Artikel],tbl_Name[Unterwarengruppe]=xxx)))"
EV_Text = Replace(EV_Text, "xxx", Filter_Text)
LB_Artikelliste.List = Evaluate(EV_Text)


Gruß Daniel
AW: Listbox mit gefilterten Daten füllen
Bargley
Super Daniel, ich habe mich für die zweite Lösung entschieden, die bei mir tadellos klappt, genau wie die vom Ulf. Ich freu mich nun diesem Forum beigetreten zu sein, allerdings hatte ich ehrlich gesagt eine Lösung nicht so schnell erwartet. Vielen Dank!

Gruß Bargley