HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
2016
Erfahrungslevel des Fragestellers:
Excel-Profi - VBA gut
daniel
17.06.2026 17:35:11
AW: Gefiltertes Array in Listbox einlesen
nochmal mit Code:

mit folgendem Beispielcode erzeugt man aus einem unsortierten Array "arr" eine sortierte Listbox:
hier für 3 Spalten

ListBox1.Clear

For a = 1 To UBound(arr, 1)
For L = 0 To ListBox1.ListCount - 1
If arr(a, 1) < ListBox1.List(L, 0) Then Exit For
Next
ListBox1.AddItem arr(a, 1), L
ListBox1.List(L, 1) = arr(a, 2)
ListBox1.List(L, 2) = arr(a, 3)
Next


mit den Datenmengen, die in einer Listbox üblich sind, braucht man keine Superschnelle Sortiermethode.
das funkioniert, solange die Listbox mit AddItem befüllt werden kann, dh solange sie nicht mehr als 10 Spalten hat.
an gleicher Stelle könnte man auch Duplikate vermeiden, falls das erforderlich ist.
Gruß Daniel
Als Antwort auf diesen Beitrag
daniel
17.06.2026 16:04:26
AW: Gefiltertes Array in Listbox einlesen
Hi
VBA hat jetzt noch keine Sortierfunktion für Arrays.
Es gibt zwar die SortedArrayList, welches Ein Array mit sortierten Werten ist, aber die kenne ich jetzt nicht genug.

Wenn es möglich ist, wäre das einfachste, die Quelldaten mit der Sortierfunktion von Excel vorab zu sortieren.
du kannst auch das fertige Array in einen freien Zellbereich rausschreiben, dort sortieren und dann wieder einlesen.

bei einer Listbox gäbe es noch die Möglichkeit, die Listbox mit .AddItem zu befüllen (sofern die gegebenheiten das zuslassen)
bei .AddItem kann man den neuen Wert nicht nur am Ende einfügen, sondern auch irgendwo zwischen drin:

Listbox1.AddItem "NeuerWert, 2

dh wenn du eine Listbox sortiert befüllen willst, dann gehst du einfach mit einer Schleife durch die vorhandenen Listboxwerte und prüfst, bei welcher Zeile Listbox wert größer wird als der vorhandene Wert aus dem Array und fügst dann an dieser Stelle ein.

Gruß Daniel
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.