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.

Combo- oder Listbox mit sortierten Unikaten füllen [Excel 365]
#1
Moin!
Vorab:
Es gibt zu diesem Thema bereits viele Beispiele im Netz!
Eine unerschöpfliche Seite findet ihr z.B. hier:
http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html

Mittlerweile wurden einige neue Funktionen ausgerollt, so dass der Umweg über "scripting.dictionary" oder "System.Collections.ArrayList" (siehe obiger Link) nicht mehr notwendig ist.

Statt dessen bediene ich mich der Funktionen EINDEUTIG und SORTIEREN (englisch UNIQUE und SORT), wobei der List-Eigenschaft der Combobox das dynamische Array direkt per Evaluate() übergeben wird.

Ausgangsposition:
A
1Städte
2Köln
3Aachen
4Münster
5Zwickau
6Überlingen
7Musweiler
8Aachen
9Münster
10Koblenz
11

Code für die sich auf dem gleichen Tabellenblatt befindliche ComboBox:

Dim Bereich$
With Tabelle1
  Bereich = .Range("A2", .Range("A2").End(xlDown)).Address
  .ComboBox1.List = Evaluate("SORT(UNIQUE(" & Bereich & "))")
End With



ergibt:
   

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top


Gehe zu:


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