【VBA】ステップ・イン/オーバー/アウトとは?簡単にまとめてみた
![VBA_ステップイン_オーバー_アウト_1](https://haginote.com/wp-content/uploads/2022/02/93ab2990ef3d2f679da65401a5424dfe.jpg)
作成したVBAコードを実行しても思ったような結果が得られない時があります。その際に活用されるのが「デバック」メニューにある「ステップ・イン」や「ステップ・オーバー」等です。デバックの「ステップ・○○」の機能を使用するには、VBEを開いて、まずは一度[F8]キーを押してください。選択しているプロシージャの先頭が黄色くマーカーされるのが開始の合図です。
![VBA_ステップイン_オーバー_アウト_2](https://haginote.com/wp-content/uploads/2022/02/591befe1b58708c7c30dbea35c758e48-1024x407.jpg)
今回はメニュー内にある「ステップ・イン/オーバー/アウト」(カーソル行の前まで実行)を、例題をもとに簡単に説明していきます。
ステップ・イン ~[F8]キーのみ~
![VBA_ステップイン_オーバー_アウト_3](https://haginote.com/wp-content/uploads/2022/02/ed955c22678a203c71c9541c6bdc9db5-1024x403.jpg)
![VBA_ステップイン_オーバー_アウト_4](https://haginote.com/wp-content/uploads/2022/02/1be9aa8c05951b319c3f02613384fedc-1024x353.jpg)
VBEを開いて[F8]キーを押した後、
[F8]キー を押すと1行ずつコードを実行する
機能です。このステップ実行中には、
VBE上の変数に当たる部分にカーソルを合わせると、
例えば、そのとき変数に入っている値は何か?
が分かるようになってポップアップ表示されます。
![VBA_ステップイン_オーバー_アウト_6](https://haginote.com/wp-content/uploads/2022/02/6cde5bd8146e0abaaeeb9ab0117f5c59.jpg)
これは結構便利です。
ステップ・インを終了させるには
ツールバーにある「■リセット」ボタンを押します。
ステップ・オーバー ~[Shift] 押しながら[F8]~
![VBA_ステップイン_オーバー_アウト_13](https://haginote.com/wp-content/uploads/2022/02/048a10023258a03a4a25cdc33fefd4b4-1024x475.jpg)
![VBA_ステップイン_オーバー_アウト_12](https://haginote.com/wp-content/uploads/2022/02/5ca42f181bfca1eb99f35a4ddba7562d-1024x475.jpg)
VBEを開いて[F8]キーを押した後、
[Shift]押しながら[F8]を押すと
1行ずつコードを実行するが関数内は処理を飛ばして実行する
機能になります。1行ずつ進むのにステップ・インと変わらない
ように思えますが、その違いは具体的には上の画面を参照してみてください。
ステップ・アウト ~[Ctrl] 押しながら[F8]~
![VBA_ステップイン_オーバー_アウト_9](https://haginote.com/wp-content/uploads/2022/02/97b054b8201f3c864bfb3629dddac8a8.jpg)
![VBA_ステップイン_オーバー_アウト_10](https://haginote.com/wp-content/uploads/2022/02/35d7b26cb62066aa0c0550805f3a9837-1024x529.jpg)
![VBA_ステップイン_オーバー_アウト_11](https://haginote.com/wp-content/uploads/2022/02/7f0feac1f34c56b7b28ff994a0c4899c-1024x527.jpg)
※ブレークポイントの設置方法は任意の行で[F9]キーを押すか、任意の行の左端(黄色い矢印があるところ)をクリックする事で設置/解除ができます
VBEを開いて[F8]キーを押した後、
[Ctrl]押しながら[F8] で
①選択中のプロシージャを最後まで実行する
or
②(設けてあれば)ブレークポイントまで実行する
機能になります。具体的には上の画面のように
処理が実行されます。
カーソル行の前まで実行~[Ctrl]+[Shift] 押しながら[F8]~
文字通り、現在カーソルがある位置の前まで実行されます。
これに関しては説明を省きますが、
「ブレークポイント」ではなく「カーソルの位置」である事にご注意ください。
以上です、何かの参考になれば嬉しいです。