Na, z.B. mit dem guten alten Bubblesort:
Type Test
Nummer As Long
Eintrag As String
End Type
Public Sub TestBubble()
Dim TestArray(5) As Test
TestArray(0).Nummer = 3400
TestArray(0).Eintrag = "Eintrag1"
TestArray(1).Nummer = 1234
TestArray(1).Eintrag = "Eintrag2"
TestArray(2).Nummer = 2133
TestArray(2).Eintrag = "Eintrag3"
TestArray(3).Nummer = 5555
TestArray(3).Eintrag = "Eintrag4"
TestArray(4).Nummer = 341
TestArray(4).Eintrag = "Eintrag5"
TestArray(5).Nummer = 3411
TestArray(5).Eintrag = "Eintrag6"
Dim Mark As Long, I As Long, EndIdx As Long, StartIdx As Long, \_
TempNummer As Long, TempEintrag As String
EndIdx = UBound(TestArray)
StartIdx = LBound(TestArray)
Do While EndIdx \> StartIdx
Mark = StartIdx
For I = StartIdx To EndIdx - 1
If TestArray(I).Nummer \> TestArray(I + 1).Nummer Then
TempNummer = TestArray(I).Nummer
TestArray(I).Nummer = TestArray(I + 1).Nummer
TestArray(I + 1).Nummer = TempNummer
TempEintrag = TestArray(I).Eintrag
TestArray(I).Eintrag = TestArray(I + 1).Eintrag
TestArray(I + 1).Eintrag = TempEintrag
Mark = I
End If
Next I
EndIdx = Mark
Loop
For I = LBound(TestArray) To UBound(TestArray)
Debug.Print I, TestArray(I).Nummer, TestArray(I).Eintrag
Next I
End Sub
Gruß aus dem Norden
Reinhard Kraasch
(http://www.dbwiki.de - das Datenbank-Wiki)