mit folgendem Code sortiere ich die Einträge einer Listbox alphabetisch:
Private Sub UserForm_Initialize()
With ListBox1
lngLetzteZeile = Sheets("Startland_temp").Cells(Rows.Count, 1).End(xlUp).Row
MsgBox lngLetzteZeile
For i = 1 To lngLetzteZeile
.AddItem Worksheets("möp").Range("A" & i).Value
Next i
End With
SortListBox ListBox1
ListBox1.ListIndex = 0
End Sub
Private Sub SortListBox(ByRef LB As MSForms.ListBox)
Dim First As Integer
Dim Last As Integer
Dim NumItems As Integer
Dim i As Integer
Dim j As Integer
Dim Temp As String
Dim TempArray() As Variant
ReDim TempArray(LB.ListCount)
First = LBound(TempArray)
Last = UBound(TempArray) - 1
For i = First To Last
TempArray(i) = LB.List(i)
Next i
For i = First To Last
For j = i + 1 To Last
If TempArray(i) > TempArray(j) Then
Temp = TempArray(j)
TempArray(j) = TempArray(i)
TempArray(i) = Temp
End If
Next j
Next i
LB.Clear
For i = First To Last
LB.AddItem TempArray(i)
Next i
End Sub
Die alphabetische Sortierung funktioniert, allerdings werden die Einträge, die mit einem Umlaut beginnen, am Ende der Liste einsortiert (nach Z).
Gibt es eine Möglichkeit, dass Umlaute nicht am Ende erscheinen, sondern z.B. Ä vor B?
Vielen Dank schon mal für eure Tipps!
Grüße
Tom