'グローバル = どっからでも参照出来る Dim aa As Boolean, bb As Boolean, cc As Boolean ' '上の各変数の記憶期間は、エクセルが起動している間中 'ずっと保持される ' Sub Slot() Dim a As Integer, b As Integer, c As Integer 'ランダム値初期化 Randomize '初期値を設定 a = Rnd() * 10 b = Rnd() * 10 c = Rnd() * 10 'フラグを初期化 aa = False bb = False cc = False ' 'DoEvents: 制御を一時Windowsに返す関数 '【めもめも】 '無限ループ内でフリーズ(又はブロッキング)してしまうのを避ける為 'に使ったり、処理した結果をリアルタイムに表示させるのに使われる ' Do DoEvents If aa And bb And cc Then '全て止めたれたらロープ脱出 Exit Do End If If Not aa Then Cells(3, 2) = a a = a + 1 If a >= 10 Then a = 1 End If If Not bb Then Cells(3, 3) = b b = b + 1 If b >= 10 Then b = 1 End If If Not cc Then Cells(3, 4) = c c = c + 1 If c >= 10 Then c = 1 End If Loop '判定 If a = b And a = c Then MsgBox "ヒット!" Else MsgBox "残念・・・" End If End Sub '各Stopボタンを押した時の処理 Sub a_Stop() aa = True End Sub Sub b_Stop() bb = True End Sub Sub c_Stop() cc = True End Sub