1.1k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.3k Punkte)
Hallo,

kann man eigentlich innerhalb einer string-Variablen mit unterschiedlicher Länge sortieren?
Z.B. Variable =" F H Z R A G C" in " A C F G H R Z" umwandeln.

Eine Idee wäre vlt. die Variable in n Einzelvariable aufzuteilen, diese sortieren und wieder "zusammensetzen".... Ist sicher mit einem Code sehr umständlich und ihr habt eine bessere Idee???
Gruß Andreas

3 Antworten

0 Punkte
Beantwortet von
vielleicht hilft dir dieser Thread schon weiter
www.supportnet.de/t/2468872
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo,

danke für den Tipp, das sind ja tolle Ideen von Karin und nighty!!
Beide Codes funktionieren einwandfrei!
VG Andreas
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

z.b.

gruss nighty

Sub x()
Dim ar() As String
Dim StringNeu As String
ar() = Split("a c b")
Call QuickSort(ar, LBound(ar), UBound(ar))
For ZeichenI = LBound(ar) To UBound(ar)
StringNeu = StringNeu + ar(ZeichenI) + " "
Next ZeichenI
Cells(1, 1) = StringNeu
End Sub

Sub QuickSort(aDaten, a As Long, e As Long)
Dim x As Long, y As Long, varTemp As Variant, varPivot As Variant
x = a
y = e
varPivot = aDaten((a + e) \ 2)
Do While x <= y
Do While aDaten(x) < varPivot
x = x + 1
Loop
Do While aDaten(y) > varPivot
y = y - 1
Loop
If x <= y Then
varTemp = aDaten(x)
aDaten(x) = aDaten(y)
aDaten(y) = varTemp
x = x + 1
y = y - 1
End If
Loop
If a < y Then Call QuickSort(aDaten, a, y)
If x < e Then Call QuickSort(aDaten, x, e)
End Sub
...