変数値の参照

デバッグ中の変数やセル内容を確認します。
「ブレークポイント」等で中断した時の状態を確認します。
ブレークポイントの他、エラーが発生して「デバッグ」をクリックした時などステップ動作中では変数などの値の確認が必要になります。

ブレークポイントの内容確認

VBEのタイトルに「[中断]」が表示されている状態では、マクロは続行可能な状態での一時停止なので各変数等もメモリ上に保持されています。 この状態の時は、変数名のところにマウスカーソルを合わせるだけでこのようにToolTipで値が表示されます。

「イミディエイトウィンドウ」を使う
この時、セル値などは横にExcelワークシートのウィンドウを並べていれば判ることですが、コード記述がないプロパティを参照したいようなケースも発生します。
一時的に表示できない変数やプロパティの値を見る場合は「イミディエイトウィンドウ」を使うと良いでしょう。

イミディエイトウィンドウ

このように「?」を先頭に変数やプロパティ記述を書き込んでEnterを押すと、1行下に値が表示されます。 但し、1つ上の中断した画像の時点で「?Cells(lngRow, 1).Value」と打ち込んでも、 実際にはこの行の処理(A列への値セット)は完了していないので処理以前の値が表示されてしまうことに注意が必要です。

「ウォッチウィンドウ」を使う
デバッグの作業中に「継続的に値を監視する」という必要がある場合は「ウォッチウィンドウ」が利用できます。

ウォッチウィンドウ

中断したところで「ウォッチウィンドウ」を表示させて、右クリックから「ウォッチ式の追加」を選択して変数やプロパティを登録すると、このように値の参照ができるようになります。 「イミディエイトウィンドウ」でも説明しましたが、「Cells(lngRow, 1).Value」はまだこの行の処理が行なわれていない段階なのでEmpty値となります。

デバッグの記述をソースコードに埋め込む
プログラムの動作上の調査で、必要な条件の時だけ必要な項目の値などを見たいということは結構発生することです。
大量なデータ中のごく一部で発生する問題などがある場合は「ウォッチウィンドウ」に登録しても肝心な箇所を探すのに手間が掛かってしまいます。
問題を絞り込む条件が判っている場合は、その条件を前ページの「Stopステートメント」と同様な方法でソースコードに埋め込むことができます。



結果はこのように「イミディエイトウィンドウ」に表示されます。
これはループ中に中断されるものなので、F5キーを何回か押した状態です。
このサンプル画像にはありませんが、条件文の中に「Debug.Print」を書くことも可能です。

ウィンドウイベントやユーザーフォーム表示中などVBE側でトラップしてしまうと それ自身が「ウィンドウ切替え」になってしまうため、正しいデバッグにならないケースもあります。
このようなケースでは「Debug.Print」を書き込んだ状態で実行だけ流して、後から「イミディエイトウィンドウ」で内容を検証するという方法が採れます。

但し、この方法はソースコード上にデバッグのための記述を埋め込むことになるので、最終的に削除することを意識して運用する必要があります。