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)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • ricci
Top


Gehe zu:


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