Array sortieren und verketten
13.12.2004 23:41:12
{Boris}
Hi,
so zum Beispiel (alles in ein Modul):
Option Explicit
Public Function f(Wert1 As String, Wert2 As String) As String
Dim i As Integer, arr() As String, iLen As Integer
Dim str As String
str = Wert1 & Wert2
iLen = Len(str)
ReDim arr(iLen)
For i = 0 To iLen - 1
arr(i) = Mid(str, i + 1, 1)
Next i
QuickSort arr(), 0, iLen
For i = 0 To iLen
f = f & arr(i)
Next i
End Function
Public Sub QuickSort(toSortArray() As String, ByVal LB As Single, ByVal UB As Single)
'String Array sortieren, by ActiveVB
Dim P1 As Single
Dim P2 As Single
Dim Ref As String
Dim Temp As String
P1 = LB
P2 = UB
Ref = toSortArray((P1 + P2) / 2)
Do
Do While (toSortArray(P1) < Ref)
P1 = P1 + 1
Loop
Do While (toSortArray(P2) > Ref)
P2 = P2 - 1
Loop
If P1 <= P2 Then
Temp = toSortArray(P1)
toSortArray(P1) = toSortArray(P2)
toSortArray(P2) = Temp
P1 = P1 + 1
P2 = P2 - 1
End If
Loop Until (P1 > P2)
If LB < P2 Then Call QuickSort(toSortArray, LB, P2)
If P1 < UB Then Call QuickSort(toSortArray, P1, UB)
End Sub
In der Tabelle dann:
=F(Wert1;Wert2)
also =F(A1;A2) oder welche beiden Bezüge auch immer.
Grüße Boris