Dynamisch Schleifen verschachteln

Hallo Zusammen,

ich habe mal wieder ein kleines Problem und hoffe mal wieder auf die Hilfe des Forums. Habe schon gegoogelt und auch hier im Forum geschaut, aber nichts passendes gefunden.

Folgendes Problem: Ich habe mehrere Signale die 6 Werte annehmen können. Über VB will ich alle Kombinationen erstellen. Allerdings ist die Signalanzahl variabel.

Folgender Code habe ich bereits geschrieben (exemplarisch für 3 Signale):

For i = 1 To 6
For Y = 1 To AnzKombinationen / (6 ^ 1)

For j = 1 To 6
For X = 1 To AnzKombinationen / (6 ^ 2)

For k = 1 To 6
For Z = 1 To AnzKombinationen / (6 ^ 3)

MsgBox ("Signal1 = " + Str(i) + "Signal2 = " + Str(j))

Next Z
Next k

Next X
Next j

Next Y
Next i

Ich weiß auf die For-Schleife Y und X könnte ich verzichten, hier nur damit es leichter zu erklären ist.
Gibt es eine Möglichkeit das Ganze flexibel zu gestallten. (Für 2 Signale brauche ich dann nur 2 For-Schleifen, für 4 Signale brauche ich dann 4 For-Schleifen).
Bin für jeden Tipp dankbar.

Viele Grüße Sunny

Hallo,

Ich weiß auf die For-Schleife Y und X könnte ich verzichten,
hier nur damit es leichter zu erklären ist.
Gibt es eine Möglichkeit das Ganze flexibel zu gestallten.
(Für 2 Signale brauche ich dann nur 2 For-Schleifen, für 4
Signale brauche ich dann 4 For-Schleifen).

nein, das geht so nicht.
Zählschleifen sind für das Problem der falsche Weg.
Ich habe Dir mal etwas geschrieben, sieh’s Dir mal genau an, eine rekursive Prozedur ist, was Du brauchst.

Option Explicit
 Dim intAnzahl As Integer
 Dim intMax As Integer
 Dim Feld() As Integer
 Dim Txt As String
 Dim Tst As String

Private Sub Command1\_Click()
 Dim i As Integer
 intAnzahl = InputBox("Bitte Anzahl Stellen angeben", "Eingabefenster")
 intMax = InputBox("Bitte größte Ziffer", "Eingabefenster")
 ReDim Feld(intAnzahl - 1)
 For i = LBound(Feld) To UBound(Feld)
 Feld(i) = 1
 Tst = Tst + CStr(intMax)
 Next
 anzeigen
 While Txt Tst
 kombinieren
 Wend
End Sub

Private Sub kombinieren(Optional pos As Integer)
 If Feld(pos) 

Gruß Rainer

Hallo Rainer,

super vielen herzlichen Dank. Habe es noch entsprechend angepasst und jetzt funktioniert alles einwandfrei. Vielen Dank für deine Hilfe.

Grüße Sunny