Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

UserForm-ListBox-Einträge sortieren

Gruppe

ListBox

Problem

Wie kann ich Einträge in einer UserForm-ListBox aufsteigend sortieren?

Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.

ClassModule: frmSortieren

Private Sub cmdAbbrechen_Click()
   Unload Me
End Sub

Private Sub cmdSortieren_Click()
   Dim iLast As Integer, iNext As Integer
   Dim iTmp As Integer
   With lstSortieren
      For iLast = 0 To .ListCount - 1
         For iNext = iLast + 1 To .ListCount - 1
            If .List(iLast) > .List(iNext) Then
               iTmp = .List(iLast)
               .List(iLast) = .List(iNext)
               .List(iNext) = iTmp
            End If
         Next iNext
      Next iLast
   End With
End Sub

Private Sub UserForm_Initialize()
   With lstSortieren
      .AddItem 1
      .AddItem 3
      .AddItem 9
      .AddItem 2
      .AddItem 5
      .AddItem 7
      .AddItem 2
   End With
End Sub

StandardModule: basMain

Sub CallForm()
   frmSortieren.Show
End Sub