Hunde geben einem so viel zurück – beispielsweise Blumenzwiebeln, die man letzte Woche eingepflanzt hat.
Ich erstelle einen Dialog und erstelle eine Schaltfläche, die es ermöglicht, die Werte zu sortieren:

Ich verwende eine Code, den ich im Internet gefunden habe:
Private Sub cmdSort_Click()
     Dim i As Integer
     Dim listMatrix As Object, varDaten As Variant
     Set listMatrix = CreateObject("System.Collections.ArrayList")
For i = 0 To Me.lstAuswahl.ListCount - 1
    listMatrix.Add Me.lstAuswahl.List(i)
Next i
listMatrix.Sort
Me.lstAuswahl.Clear ' -- Auswahlliste leeren
For Each varDaten In listMatrix
    Me.lstAuswahl.AddItem varDaten
Next varDaten
If Me.lstAuswahl.ListCount > 0 Then
    Me.lstAuswahl.ListIndex = 0
End If
Set listMatrix = Nothing
End Sub
Klappt wunderbar – allerdings:
ArrayList ist ein Objekt von .NET-Framework 3.5. Ist dieses nicht auf einem Rechner installiert, funktionieren die Befehle der Klasse auch nicht:

Also – raus damit – und die „klassische“ Variante:
Private Sub cmdSort_Click()
    Dim intLast As Integer, intNext As Integer
    Dim strTemp As String
    With Me.lstAuswahl
        For intLast = 0 To .ListCount – 1
            For intNext = intLast + 1 To .ListCount – 1
                If .List(intLast) > .List(intNext) Then
                    strTemp = .List(intLast)
                    .List(intLast) = .List(intNext)
                    .List(intNext) = strTemp
                End If
            Next intNext
        Next intLast
    End With
End Sub