Hallo liebe(r) Gast/Gäste
Ich habe mit viel Mühe und Internetrecherche folgendes erreicht:
Sub random_number()
Dim Default(9) As Integer
Dim i As Integer
For i = 1 To 6561 '6561 combinations
Randomize
Sheets("combinations4").Cells(i, 1) = Math.Round(Int((100 - 20 + 1) * Rnd + 20) / 10) * 10 'Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Sheets("combinations4").Cells(i, 2) = Math.Round(Int((100 - 20 + 1) * Rnd + 20) / 10) * 10 'Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Sheets("combinations4").Cells(i, 3) = Math.Round(Int((100 - 20 + 1) * Rnd + 20) / 10) * 10 'Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Sheets("combinations4").Cells(i, 4) = Math.Round(Int((100 - 20 + 1) * Rnd + 20) / 10) * 10 'Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Next i
'For i = 1 To 6561
If Sheets("combinations4").Cells(i, 5).Value > 100 Then
Do
Randomize
Sheets("combinations4").Cells(i, 1) = Math.Round(Int((100 - 20 + 1) * Rnd + 20) / 10) * 10 'Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Sheets("combinations4").Cells(i, 2) = Math.Round(Int((100 - 20 + 1) * Rnd + 20) / 10) * 10 'Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Sheets("combinations4").Cells(i, 3) = Math.Round(Int((100 - 20 + 1) * Rnd + 20) / 10) * 10 'Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Sheets("combinations4").Cells(i, 4) = Math.Round(Int((100 - 20 + 1) * Rnd + 20) / 10) * 10 'Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Loop While Sheets("combinations4").Cells(1, 5).Value = 100
Else
End If
End Sub
So erhalte ich 4 Zahlen nebeneinander und sie sind auch zwischen 20 und 100 in 10ner-Schritten. Leider funktioniert der Do - While - Loop nicht so wie ich möchte und die Zahlen werden nicht wieder neu zusammengewürfelt bis sie genau als Summe 100 ergeben. Die 5te Spalte (E) zeigt nämlich die Summe der 4 Zahlen an die in Spalte A-D sind (manuell mit Formel eingegeben und nicht programmiert). Das allein wird wohl auch nicht ausreichen. Ich muss irgendwie noch einbauen, dass keine Zeile die gleiche Kombination hat. Es sollten ja genau 6561 Kombinationen sein.
Könnt Ihr (oder der letzte sehr hilfreiche Gast) mir wieder weiterhelfen?
Vielen Dank!
Lieber Gruss
Alexandra
|