ich brauche eine hilfe zu meinem code
11.10.2004 00:32:34
yusuf
ein bißchen selbst und die hilfe von reinhard haben meinen code so weit gebracht, aber ich habe immer noch ein problem damit. es funktioniert der spalten wechsel, der tabellen wechsel vorausgesetzt ich fange nicht mit zeile 1 an, sondern mit 101. das ist kein so großes problem, mein größeres problem aber ist das der code die berechnung nicht zu ende bringt sondern irgend wann mitten drin aufhört. schaut euch das an und sagt mir bitte was ich ändern muß
Dim anzahl As Integer
Dim zeile As Long
Dim spalte As Integer
Sub kombin()
Dim a() As Byte
spalte = 0
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 = 101 '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
ActiveSheet.Cells(zeile, spalte + i + 1) = a(i)
Next
zeile = zeile + 1
If zeile > 65500 Then ' 10000000 zum Testen
spalte = spalte + anzahl
If spalte + anzahl > 255 Then
Worksheets.Add
spalte = 0
End If
zeile = 101
End If
End Sub