Do Loopステートメントによる繰り返しを終了するかどうかは、条件式の演算結果で決まります。
作成したプログラムに誤りがあると、 繰り返しを終了するための条件が満たされず、いつまでたっても終了しないことが起こりえます。このような場合を 無限ループと呼び、マウスクリックやキー入力を受け付けなくなってしまいます。
(キー入力を待つ場合など、意図的に無限ループを使用する場合もあります。
Sub Calc_Total_While09()
Dim Count ' 回数
Dim Total ' 合計
Count = 0
Total = 0
Do While Total <= 100
Total = Total + Count
Loop
MsgBox Count
End Sub
このプログラムでは、回数の値を増やすCount = Count + 1 の行がないため、Countの値はずっと0のままで、 合計の値は増えていきません。繰り返しを終了するための条件が満たされず、いつまでたっても終了しないことになります。
無限ループに陥ったと思われる場合、Ctrl + Pauseキーを押すと、図のようなダイアログボックスが出ます。
[終了]をクリックしてプログラムを終了させてください。
それでも終了しない場合はCtrl + Alt + Deleteキーを押してタスクマネージャを起動し、Excelのプロセスを強制終了してください。
なお、強制終了すると保存していないプログラムの内容は消えてしまいます。プログラムを実行する前には必ずファイルを保存してください。
Sub Calc_Total_While09()
Dim Count, Total ' 回数と合計 初期値は 0 になっています
Do While Total <= 100
Count = Count + 1
Total = Total + Count
Loop
MsgBox Count
End Sub