AW: chronologisch sortieren
04.03.2021 16:59:42
Daniel
Hi
ah ok verstanden.
du willst alle Variationen ausschleißen, die sich mit anderer Reihenfolge ergeben.
probiers mal so:
Option Explicit
Dim Stufen As Long
Sub Start()
Dim strEingabe As String
Dim arr
strEingabe = InputBox("Bitte geben sie semikolon getrennt ein: " & vbLf & _
"als ersten Wert die Anzahl der Spalten, ab dem zweiten wert die Zahlenreihe.")
arr = Split(strEingabe, ";")
Stufen = UBound(arr) - CLng(arr(0))
strEingabe = Mid(strEingabe, InStr(strEingabe, ";")) & ";"
Cells.Clear
Call Rekursion(strEingabe, 1)
Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=True, Comma:=False, Space:=False, Other:=False
End Sub
Sub Rekursion(ByVal Zahlen As String, ByVal sp As Long)
Dim arrZahlen
Dim Zahlen2 As String
Dim i As Long
arrZahlen = Split(Zahlen, ";")
For i = UBound(arrZahlen) - 1 To 1 Step -1
Zahlen2 = Replace(Zahlen, ";" & arrZahlen(i) & ";", ";")
If sp = Stufen Then
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Mid(Zahlen2, 2, Len(Zahlen2) - 2)
Else
Call Rekursion(Zahlen2, sp + 1)
End If
Next
End Sub
der Syntaxfehler kommt übrigens durch die Forensoftware hier, die bei langen als Code markierten Zeilen versucht, diese analog dem VBA-Editor umzubrechen. Das kann sie aber nicht richtig. daher der Fehler wenn man sich solche Codezeilen aus dem Forum kopiert und einfügt.
Gruß Daniel