VBAダイスロールは私にとっても非常に簡単ですが、ロールタイプ6が必要な場合はロールバックして2つのロールを一緒に加えることができます。あなたは3番目のロールを取得するなど)。VBAダイスロール追加
私は2つのアプローチを試みたが、二回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
これを第3のロールを与える必要があるため、両方は、
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
この1つはしかし、明らかに不可能である12の結果を生成することができる失敗しましたそれが戻ってくる可能性があるため、さらに悪化します。
私はハイとローの検索を試みましたが、シンプルなスローのコード、2つのダイスとロールのロール特定の結果を再表示することができます。このオプションとは異なり、やはりすべてのオプションがかなり簡単です
おかげで、私は、ループミスがこのようなものになるだろうことを知っていたが、私はそれがところで – telesien
を動作させるためにどのようなアイデアの外でしたあなたがいる限り、整数であるべきときの結果とロールを宣言する理由何らかの理由があります十分な? – telesien
おそらくこの場合は習慣が悪いです。私はそれを使用してオーバーフローエラーを回避することに慣れていますが、この場合はその問題を危険にさらすことはありません。だからあなたは正しい。訂正しました – Tom