VBAのデバッグ
VBAでのデバッグについて説明します。
デバッグってなにをするの?
デバッグとはなにか
デバッグとはプログラムの中に発生してしまったミスを探し出して取り除くことを言います。
どんなに難しいプログラムであっても作っているのは人間です。注意深くプログラミングを行うことでバグの発生率を下げることはできるが、0にすることはなかなか難しいことです。
バグを残したままにするわけにもいかないので、デバッグ機能を使いバグを発見し修正します。
デバッグを使いこなせることにより、プログラムの質がどんどんよくなるといってもよいでしょう。
スコープの役割
VBAでのデバッグ
ステップイン (F8キー)
VBEを開き 「デバッグ」の中のステップインで使用します。
ステップインとはプログラムコードを1行ずつチェックしていく方法です。
実行時エラーのデバッグ作業ではエラー発生箇所のコードがすぐに表示されますが、そのときに発見されたミスが全てであるとは限りません。
このようなことの対策として、各箇所のコードを1行1行丁寧にチェックして確認する機能をステップインといいます。ステップインでチェックしている行は、黄色く塗りつぶされて表示されます。
ステップオーバー (F8+Shift)
VBEを開き 「デバッグ」のステップオーバーで使います。
ステップオーバーも基本的にはステップインと同じくコードを1行ずつチェックしていくものです。ではステップインとステップオーバーは一体どこが違うの?と思われたでしょう。ステップインとの違いはデバッグ実行中に、他のプロシージャを呼び出していてもその呼び出したプロシージャだけでは終わらず、今のプロシージャの次にあたるステートメントまで実行されます。
ステップアウト (Ctrl+Shift+F8)
選択したプロシージャのコードの処理を一度やめて、次の行のコードから再び処理を始めます。一度開始した処理がまだ終わらないが、次の処理に移りたいときに便利です。