vba code problem
10.10.2004 00:01:03
yusuf
ich zeige euch hier ein code der die lotto möglichkeiten einzeln aufführt. mein problem ist aber das es von spalte a - f ganz runter rechnet (also eine zahl pro spalte) und hört natürlicher weise bei 65500 auf. ich will aber das es dann auf spalte h - m springt und weiter rechnet und so weiter und so weiter bis die ganze tabelle voll wird. könnt ihr mir bitte helfen.
hier der code
Dim anzahl As Integer
Dim zeile As Long
Sub kombin()
Dim a() As Byte
Application.ScreenUpdating = False
zahl = 49 'z.B. 6 aus zahl
anzahl = InputBox("Wieviel Zahlen?") * 1
ReDim a(anzahl - 1)
f = InputBox("Führende Zahl") * 1
zeile = 1 'Ausgabe beginnt in Zeile 1
'Berechnung Anzahl der Kombinationen zur Info
o = 1
u1 = 1
u2 = 1
n = zahl - f + 1
k = anzahl
For i = 1 To n
o = o * i
Next
For i = 1 To n - k
u1 = u1 * i
Next
For i = 1 To k
u2 = u2 * i
Next
MsgBox ("es gibt " & o / u1 / u2 & " Kombinationen")
'weiter mit Ausgabe
wieviel = 65500 'max 65500 Zahlenreihen wegen Blattlänge
For j = 0 To anzahl - 1
If j = 0 Then
a(j) = f
Else: a(j) = a(j - 1) + 1
End If
Next
ausgabe (a)
j = 1
Do While j < wieviel
s = anzahl - 1
If a(s) < zahl Then
a(s) = a(s) + 1
Else
s = anzahl - 1
Do
s = s - 1
If s = -1 Then Exit Sub
Loop Until a(s) < zahl And a(s) + anzahl - s <= zahl
a(s) = a(s) + 1
For i = s + 1 To anzahl - 1
a(i) = a(i - 1) + 1
Next
End If
ausgabe (a)
j = j + 1
Loop
Application.ScreenUpdating = True
End Sub
Sub ausgabe(a)
For i = 0 To anzahl - 1
Cells(zeile, i + 1) = a(i)
Next
zeile = zeile + 1
End Sub