Listbox alphabetisch sortieren
- UserForm erstellen
- ListBox befüllen
- ListBox alphabetisch sortieren mit dem BubbleSort Verfahren
- ListBox mit mehreren Spalten sortieren
- ListBox aufsteigend und absteigend sortieren
- ListBox Sortierspalte festlegen
- Makro in einer UserForm über Button ausführen
Code
Private Sub ListBoxSortieren(lb As MSForms.ListBox, Optional Aufsteigend As Boolean = True, Optional Sortierspalte As Long = 0) 'Variablen dimensionieren Dim ZeileAußen As Long Dim ZeileInnen As Long Dim temp As Variant Dim Spalte As Long With lb 'Äußere Schleife über Elemente der ListBox For ZeileAußen = 0 To .ListCount - 2 'Innere Schleife über Elemente der ListBox For ZeileInnen = 0 To .ListCount - 2 'Aufsteigend oder absteigend? If Aufsteigend = True Then 'Wörter vergleichen aufsteigend If LCase(.List(ZeileInnen, Sortierspalte)) > LCase(.List(ZeileInnen + 1, Sortierspalte)) Then 'Schleife über alle Spalten For Spalte = 0 To .ColumnCount - 1 'Elemente tauschen temp = .List(ZeileInnen + 1, Spalte) .List(ZeileInnen + 1, Spalte) = .List(ZeileInnen, Spalte) .List(ZeileInnen, Spalte) = temp Next Spalte End If Else 'Wörter vergleichen absteigend If LCase(.List(ZeileInnen, Sortierspalte)) < LCase(.List(ZeileInnen + 1, Sortierspalte)) Then 'Schleife über alle Spalten For Spalte = 0 To .ColumnCount - 1 'Elemente tauschen temp = .List(ZeileInnen + 1, Spalte) .List(ZeileInnen + 1, Spalte) = .List(ZeileInnen, Spalte) .List(ZeileInnen, Spalte) = temp Next Spalte End If End If Next ZeileInnen Next ZeileAußen End With 'Bereitgestellt von VBATrainer: www.vbatrainer.de End Sub