Clever-Excel-Forum

Normale Version: Combo- oder Listbox mit sortierten Unikaten füllen [Excel 365]
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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:
[attachment=32942]

Gruß Ralf