以下の Macro1 をステップ実行してみましょう。準備として、Visual Basic Editor を使い、新規ブックに標準モジュールを挿入し、以下のマクロのコードをコピー貼り付けしてください。
Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2006/6/19 ユーザー名 : pou ' ' Range("A1").Select ActiveCell.FormulaR1C1 = "Hello World" Range("A2").Select End Sub
ステップ実行の開始方法はいくつもありますが、今回は Excel のメニュー [ツール]-[マクロ]-[マクロ] の [ステップイン] ボタンを使ってみます。
ステップ実行が始まり、マクロの1行目が黄色く反転します。
現在の行を実行し、次の行に進むには F8 キーを押します。
F8 キーを押して進み、マクロの最後の行(End Sub)を実行すると、黄色い反転表示が消え、ステップ実行が終了します。
ステップ実行をしながら、シートの状態を確認することができます。
コードの上にマウスポインタを持って行くと、プロパティや変数の内容がポップアップ表示されます。
イミディエイトウィンドウで「?プロパティ」や「?変数名」と入力して Enter キーを押すとその内容が表示されます。
マクロを打ち切って終了させるには、[実行]-[リセット] を実行します。
ブレークポイントはブックファイルに保存されるので、マクロが完成したら、すべてのブレークポイントの解除を行い、ブックを保存し直すようにしてください。
ブレークポイントの代わりに、コード中に Stop ステートメントを書いても、マクロ実行を中断することができます。
VBAでは、実行時エラーが発生すると、[終了] か [デバッグ] を選択するダイアログボックスが表示され、[デバッグ]を選択するとデバッグモード(中断モードとも言います)になり、エラーの行からステップ実行を開始できる状態になります。ここでコードを修正して実行を再開することもできます。
ウォッチ式に変数やプロパティなどを含む式を登録すると、その式の結果を常に監視し、変化したときにマクロ実行を中断することができます。
例えば、あるプロパティが特定の値になるコード箇所を知りたい場合、そのプロパティに関係するコードが何行あっても、ウォッチ式にプロパティをチェックする条件式を一つ登録するだけで、見つけ出すことができます。