はじめに
「vbaでコーディングしたのにうまく動作しない」「ちゃんと動作しているか不安」ということはありませんか?
Excel マクロには、vba のプログラムがどのように動作しているか確認することできます。これをデバッグといいます。
プログラミングをする上でエラーは避けて通れません。
デバッグを行うことでエラー原因の早期発見につながるため、プログラミングをするうえで非常に重要な機能となっております。
ではさっそく Excel マクロのデバッグのやり方をご紹介しましょう。
デバッグのやり方
試しに以下のプログラミングのデバッグをとり「sum」にはどんな値があるかを確認するとします。
なお、デバッグには二通りのやり方があります。なお管理人は「ブレークポイントで確認する方法」をお勧めします。
- Debug.print で確認する方法
- ブレークポイントで確認する方法
Debug.print で確認する方法
Debug.print とは Debug.print 「表示させたい値」 という形式で記述することで、「表示させたい値」を確認することができます。
(1)「表示」→ 「イミディエイトウィンドウ」をクリックします。Debug.print で出力される値は「イミディエイトウィンドウ」で表示されます。
(2)画面左下に「イミディエイト」画面が表示されます。
次に、表示したい時点での値の次の行に Debug.print [表示させたい値] を追加します。
(3)画面上部の「実行ボタン」を押すと、「イミディエイト」画面に [表示させたい値] が表示されます。
※ なお下記画面のように好きな文字列(下画面では「sum 一回目 : 」のような文字列のこと)を表示させることもできます。
ブレークポイントで確認する方法
ブレークポイントとは、プログラムの実行を一時停止するポイントのことです。
(1)ブレークポイントで止めた際に、「ローカルウィンドウ」と呼ばれるウィンドウで止めた時の値を全て確認することができます。
「ローカルウィンドウ」の表示方法ですが、「表示」→「ローカルウィンドウ」を順にクリックすると画面下に表示されます。
(2)ブレークポイントをつけた状態で、実行ボタンを押してみます。
(3)すると、下記画面のようにブレークポイントとつけた行が黄色に「ローカルウィンドウ」に各項目の値が表示されます。
※ ブレークポイントでは最初に押した際は、その行は実行される前の状態が表示されます。
(4)もう一度「実行ボタン」を押してみてください。
すると次のブレークポイントが黄色になり、次の行での処理が行われる前の状態が表示されます。
最後に
今回は Excel のデバッグ方法について解説しました。
vba でコーディングする際は必ず必要な機能なので、もし知らないという方がいましたらぜひ一度使ってみてください。