ich muss alle Kombinationsmöglichkeiten bei
4 aus 9
auflisten.
Die Berechnung hierfür habe ich dort gefunden:
https://www.zum.de/Faecher/Materialien/gebhardt/stochastik/Kombin.html
Ergebnis: 6.561
Ich habe (evtl. in diesem Forum) vor einiger Zeit einen Code gefunden mit dem das bei entsprechender Änderung gehen könnte; leider habe ich die konkrete Quelle nicht mehr:
Option Explicit
Sub Schaltfläche1_Klicken()
Application.ScreenUpdating = False
Dim z
Dim t As Single
Dim z1 As Integer
Dim z2 As Integer
Dim z3 As Integer
Dim z4 As Integer
Dim z5 As Integer
Dim z6 As Integer
z = 1
t = Timer
For z1 = 1 To 9
For z2 = 1 To 9
For z3 = 1 To 9
For z4 = 1 To 9
For z5 = 1 To 9
For z6 = 1 To 9
Cells(z, 1) = z1
If frei(z2, z, 2) Then
Cells(z, 2) = z2
Else
GoTo weiter2
End If
If frei(z3, z, 3) Then
Cells(z, 3) = z3
Else
GoTo weiter3
End If
If frei(z4, z, 4) Then
Cells(z, 4) = z4
Else
GoTo weiter4
End If
If frei(z5, z, 5) Then
Cells(z, 5) = z5
Else
GoTo weiter5
End If
If frei(z6, z, 6) Then
Cells(z, 6) = z6
z = z + 1
'If (z Mod 30) = 0 Then ActiveWindow.ScrollRow = z - 20
Else
GoTo weiter6
End If
DoEvents
weiter6:
Next z6
weiter5:
Next z5
weiter4:
Next z4
weiter3:
Next z3
weiter2:
Next z2
weiter1:
Next z1
Application.ScreenUpdating = True
MsgBox Str(Timer - t) + " sec."
End Sub
Public Function frei(ByVal zahl As Integer, ByVal z As Long, ByVal pos As Integer) As Boolean
Dim s
frei = True
For s = 1 To pos - 1
If Cells(z, s) = zahl Then frei = False
Next s
End Function
Mir gelingt aber leider die Anpassung nicht.Ob das evtl. mit einer Formel-Funktion geht weiß ich nicht (würde mir aber auch reichen).
Besten Dank für eine Hilfe.
mfg