VBA Würfel Rolle ist sehr einfach, auch für mich, aber ich brauche einen bestimmten Typ, wenn man 6 würfelt, kann man wieder rollen und die zwei Rollen zusammenfügen (plus wenn man 6 zweimal hintereinander würfelt), Sie bekommen die dritte Rolle und so weiter).VBA Würfel Rolle mit Zusatz
Ich habe zwei Ansätze ausprobiert, aber beide scheiterten
Sub roll_dice_1()
Dim result As Range
Set result = Range("A1")
result = Application.WorksheetFunction.RandBetween(1, 6)
If result = 6 Then
result = result + Application.WorksheetFunction.RandBetween(1, 6)
Do Until Application.WorksheetFunction.RandBetween(1, 6) <> 6
result = result + Application.WorksheetFunction.RandBetween(1, 6)
Loop
Else
End If
End Sub
Dies kann jedoch Ergebnis von 12 produzieren, was eindeutig nicht möglich ist, weil zweimal 6 dritte Walze
Sub roll_dice_2()
Dim result As Range
Set result = Range("A1")
result = Application.WorksheetFunction.RandBetween(1, 6)
If result = 6 Then
Do Until Application.WorksheetFunction.RandBetween(1, 6) <> 6
result = result + Application.WorksheetFunction.RandBetween(1, 6)
Loop
Else
End If
End Sub
Dies geben sollte funktioniert noch schlechter, weil es 6 zurückgeben kann.
Ich versuchte Suche hoch und niedrig, aber alles, was ich bekam, waren einfache Codes für einfache Würfe, Rollen mit zwei Würfeln und Rollen wenn bestimmte Ergebnisse wiederholt werden können. Wieder alle Optionen ziemlich einfach, im Gegensatz zu diesem
Danke, ich wusste, dass die Schleife Fehler etwas so sein würde, aber ich war die Ideen aus, wie es – telesien
BTW arbeiten zu lassen gibt es keinen Grund, warum Sie Ergebnis und rollen so lange erklären, wenn integer sein sollte genug? – telesien
Wahrscheinlich schlechte Angewohnheit in diesem Fall. Ich bin es gewohnt, es zu verwenden, um Überlauffehler zu vermeiden, aber Sie werden dieses Problem in diesem Fall nicht riskieren. Also hast du recht. Haben korrigiert – Tom