Ich habe im Frum folgenden Code zum sortieren eines Array gefunden:
Option Explicit
Option Base 0
'Deklaration eines Variant der das zusortierende Array aufnimmt.
'Das Array beinhaltet hier 16 Element (0 bis 15), wobei das erste
'als Hilfselement eingesetzt wird.
Dim SortArr As Variant
'Diese Prozedur initialisiert das Array mit den unsortierten Werten.
'Das Hilfselement SortArr(0) wird mit 0 initialisiert.
Sub Init_Arr(ByRef SortArr)
SortArr = Array(0, 10, 3, 14, 5, 2, 13, 11, 9, 12, 1, 7, 15, 8, 4, 6)
End Sub
'Die Sortier-Prozedur Insert_Sort setzt den Sortieralgortihmus um.
Sub Insert_Sort(ByRef SortArr)
Dim i As Integer, j As Integer, Element As Integer
'Durchlaufen der Array-Elemente mittels Schleife.
For i = 2 To 15
Element = SortArr(i)
'Hilfselement wird als Zwischenspeicher eingesetzt.
SortArr(0) = Element
j = i - 1
'Verschieben der Array-Elemente bis
'kleineres Array-Element gefunden.
Do While Element
'Über diese Prozedur kann das Array zur Überprüfung ausgegeben werden.
Sub ArrAusgabe(Text As String, ByRef SortArr)
Dim i As Integer
Dim SortArrStr As String
SortArrStr = Text & SortArr(1)
For i = 2 To 15
SortArrStr = SortArrStr & ", " & SortArr(i)
Next i
MsgBox SortArrStr
End Sub
'Die Hauptprozedur führt die vorab aufgeführten Prozeduren aus.
Sub Insert_Sort_Test()
Call Init_Arr(SortArr)
Call ArrAusgabe("Unsortiert: ", SortArr)
Call Insert_Sort(SortArr)
Call ArrAusgabe("Sortiert: ", SortArr)
End Sub
Geht das auch mit Text und Zahlen? Ich möchte mit einer For Next Schlaufe ca. 10 Zellen einlesen und diese dann immer nach der gleichen Reihenfolge sortieren.Beispiel
Array = PL, 2015, M, ohne, PF, 2016, 2014,
Sortierte Array = PF, PL, M, 2014, 2015, 2016
Danke und Gruss
Gregor