【VBAリファレンス|実務向け】第12回 VBエディタでマクロをつくろう 4/5:VBEの「イミディエイトウィンドウ」を使いこなしてデバッグの達人になる

スポンサーリンク

なぜ、あなたのコードは動かないのか?

こんにちは、VBA講師です。これまでコードを書くことだけに集中してきましたが、実務では「書く時間」よりも「動かない原因を探す時間」の方が圧倒的に長いものです。今日は、ベテランが必ず使っている、デバッグの最強ツール「イミディエイトウィンドウ」について解説します。

イミディエイトウィンドウは「思考のメモ帳」

VBE(Visual Basic Editor)を開いて、ショートカットキー「Ctrl + G」を押してみてください。画面下部に白い枠が出てきましたね。これがイミディエイトウィンドウです。

初心者の頃は、いちいちメッセージボックス(MsgBox)を出して値を確認しがちですが、これではプログラムを止めては閉じて……という繰り返しで非常に効率が悪いです。イミディエイトウィンドウを使えば、プログラムを止めずに、その瞬間の変数の値を知ることができます。

実務で差がつく使い方:デバッグプリント

コードの中に、以下の一行を忍ばせてみてください。

Debug.Print “現在の行番号は:” & i

これを実行したあと、イミディエイトウィンドウを覗いてみてください。処理が進むごとに、値がズラッと表示されます。特にループ処理で「なぜか期待した結果にならない」という時、どの回数で計算が狂っているのかを一目で見抜くことができます。

さらに一歩先へ:その場でコードを試す

このウィンドウの真骨頂は「テスト実行」です。例えば、特定のセルに値をセットするコードを書く前に、イミディエイトウィンドウに「Cells(1, 1).Value = “テスト”」と打ち込んでEnterキーを押してみてください。

なんと、VBAのコードを一行ずつ、プログラムを実行せずに直接動かすことができるのです。複雑な数式を入力する前に、ここで正しく値が代入されるかを確認する癖をつけると、手戻りが劇的に減ります。

今日のまとめ

初心者は「実行してエラーが出たら修正する」という作業を繰り返しますが、プロは「イミディエイトウィンドウで確認しながら開発する」というスタイルをとります。

1. Ctrl + Gでウィンドウを出す
2. Debug.Printで途中経過を監視する
3. 実行せずに直接コードを叩いて動作チェックをする

この3つを意識するだけで、あなたの開発スピードは飛躍的に向上します。次回は、さらに一歩進んだ「ローカルウィンドウ」を活用した、より深いデバッグ手法についてお話しします。それでは、また次回お会いしましょう。

タイトルとURLをコピーしました