Verschachtelte For-Schleife mit Rekursion
17.10.2018 12:55:30
Martin
Ich bin neu hier und möchte mich in den ersten Zeilen kurz vorstellen:
Martin, 42, programmiere leidschaftlich gerne, hab mir den Großteil selbst beigebracht und beschäftige mich zur Zeit eben mit VBA Excel.
Wollte nun folgendes realisieren und scheitere daran:
ich habe ein Tabellenblatt mit Daten in den Spalten. Die Anzahl der Daten (Zeilen/Spalte) und die Anzahl der Spalten variiert.
Etwa so:
Spalte 1 - Spalte 2 - Spalte 3
A X 1
B Y 2
C Z
D
Jetzt möchte ich alle möglichen Kombinationen ausgeben.
Grundsätzlich würde ich das mit einer verschachtelten For-Schleife machen, aber nachdem sich die Spaltenanzahl veränderbar sein soll, wollte ich es dynamisch programmieren. Da bin ich auf die Rekursion gekommen.
folgende Zeilen habe ich mal Programmiert:
Sub Rekur(laufvar As Integer)
If laufvar > 0 Then
For i = 1 To Indizes(laufvar - 1)
Rekur (laufvar - 1)
StartArray(laufvar - 1) = i
Next i
End If
End Sub
Sub HP()
Rekur (3)
End Sub
Das StartArray wird initialisiert mit 1,1,1.
im Array Indizes steht die Anzahl der Daten je Spalte.
Alles was ich erreichen wollte um mein Verständis aufzubauen ist, dass ich mal alle Kombinationen der Durchlaufvariable sehe. Leider kriege ich es nicht hin. Die Anzahl der Durchläufe sollte ja (Anzahl Daten Spalte 1)*(Anzahl Daten Spalte 2)*(Anzahl Daten Spalte 3) sein. Ich kriege aber immer noch doppelte Einträge, also ein paar mal die gleiche Kombination raus.
Könnt ihr mir BITTE helfen?
HERZLICHEN DANK!!!
lg
Martin