【VBA】ステップ・イン/オーバー/アウトとは?簡単にまとめてみた
作成したVBAコードを実行しても思ったような結果が得られない時があります。その際に活用されるのが「デバック」メニューにある「ステップ・イン」や「ステップ・オーバー」等です。デバックの「ステップ・○○」の機能を使用するには、VBEを開いて、まずは一度[F8]キーを押してください。選択しているプロシージャの先頭が黄色くマーカーされるのが開始の合図です。
今回はメニュー内にある「ステップ・イン/オーバー/アウト」(カーソル行の前まで実行)を、例題をもとに簡単に説明していきます。
ステップ・イン ~[F8]キーのみ~
VBEを開いて[F8]キーを押した後、
[F8]キー を押すと1行ずつコードを実行する
機能です。このステップ実行中には、
VBE上の変数に当たる部分にカーソルを合わせると、
例えば、そのとき変数に入っている値は何か?
が分かるようになってポップアップ表示されます。
これは結構便利です。
ステップ・インを終了させるには
ツールバーにある「■リセット」ボタンを押します。
ステップ・オーバー ~[Shift] 押しながら[F8]~
VBEを開いて[F8]キーを押した後、
[Shift]押しながら[F8]を押すと
1行ずつコードを実行するが関数内は処理を飛ばして実行する
機能になります。1行ずつ進むのにステップ・インと変わらない
ように思えますが、その違いは具体的には上の画面を参照してみてください。
ステップ・アウト ~[Ctrl] 押しながら[F8]~
VBEを開いて[F8]キーを押した後、
[Ctrl]押しながら[F8] で
①選択中のプロシージャを最後まで実行する
or
②(設けてあれば)ブレークポイントまで実行する
機能になります。具体的には上の画面のように
処理が実行されます。
カーソル行の前まで実行~[Ctrl]+[Shift] 押しながら[F8]~
文字通り、現在カーソルがある位置の前まで実行されます。
これに関しては説明を省きますが、
「ブレークポイント」ではなく「カーソルの位置」である事にご注意ください。
以上です、何かの参考になれば嬉しいです。