Frage von Kallyguru, 163

Excel VBA wie kann ich bei einer Combobox die Rowsource filtern?

Hi Leute nach langer Zeit hab ich mal wieder eine VBA Frage,

und zwar:

Ich habe eine Combobox, die auf eine Tabelle zurückgreift und von dort Daten holt. ich bin schon so weit, dass wenn man einen Buchstaben eingibt sich das Dropdownfeld öffnen und zu dem Wort springt, welches den selben Text enthät wie die Eingabe in der Combobox.

Nun versuche ich aber die ganze Zeit, dass sich bei dem Dropdownmenü NUR die passenden Begriffe auflisten.

Bsp:

monentan:

Eingabefeld: Aut... Dropdown: Zebra, Flasche, Marmelade, Automobil, automatisch, Automat...

wie es eigentlich sein soll:

Eingabefeld: Aut... Dropdown: Automobil, automatisch, Automat

Also es sollen nur Bergriffe im Dropdownmenü gezeigt werden die auf die Eingabe passen.


wäre richtig cool wenn da jemand ne Idee hätte :D

schonmal vielen Dank für das Lesen meiner Frage.

Antwort
von PWolff, 132

Soweit ich weiß, ist das mit Bordmitteln nicht möglich. Um die anderen Einträge auszusortieren, müsstest du die ComboBox neu füllen und danach neu aufklappen (per Makro).

Vielleicht reicht es ja auch, die Sorted-Eigenschaft der ComboBox auf True zu setzen? Dann stehen die Begriffe mit gleichen Anfängen hintereinander.

Kommentar von Kallyguru ,

mhh ja das hab ich auch schon gelesen.
aber könnte man nich wenn der Benutzer einen Buchstaben eingibt
die Rowsource Range so anpassen das er über eine Schleife nur die Range-Bereiche makiert die mit dem String übereinstimmen ?

Kommentar von PWolff ,

Wenn die Elemente für die ComboBox alphabetisch auf- oder absteigend sortiert sind, kannst du die ListFillRange-Eigenschaft entsprechend setzen.

In neueren Versionen von Excel gibt es möglicherweise auch eine Eigenschaft, die nichtzusammenhängende Listenbereiche erlaubt.

Ansonsten bleibt wohl nichts übrig, als die Liste jedesmal neu aufzubauen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten