>>965
DoEventsがないと、そのプログラムは「応答なし」になって固まってしまう。(実際は処理をしてるんだけど)
DoEventsを入れると、そのタイミングでWindowsのイベントを処理してくれる。
Windowsのイベントというのは、キー入力とかマウス操作とか。

以下のコードは合計100万回×100万回のループでいつ終わるかわからないけど、実行中もExcelの操作はできるし
マクロの終了ボタンも押せる。

Sub Sample()
  Dim i As Long
  Dim j As Long
  Dim k As Long
  
  Debug.Print "開始"
  For i = 1 To 1000000
    DoEvents
    For j = 1 To 1000000
      k = Rnd * 10
    Next
  Next
  Debug.Print "終了"
End Sub