即使對於我來說,VBA骰子卷也是非常容易的事情,但我需要特定的類型,當卷6意味着您可以再次滾動並將兩個卷添加在一起(加上當您連續兩次滾動6次,你得到第三輪等等)。VBA骰子卷加
我已經嘗試了兩種方法,但都失敗了
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
然而,這一個可以產生12結果,這顯然是不可能的,因爲兩次6應該給第三卷
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
這一個工作更糟糕,因爲它可以返回6.
我嘗試搜索高低,但我所得到的只是簡單的代碼簡單的投擲,與兩個骰子和卷當某些結果可以重新投放時。再次,所有的選項都很容易,不像這一個
謝謝,我知道環路錯誤是這樣的,但我的想法如何使它工作 – telesien
BTW有你爲什麼宣佈結果並滾動長,當整數應該以任何理由足夠? – telesien
在這種情況下可能是一種很差的習慣。我習慣於使用它來避免溢出錯誤,但是在這種情況下你不會冒這個問題。所以你是對的。已更正 – Tom