VBA入門
VBEの使い方:ウォッチ ウィンドウ

VBAの開発環境であるVBEの基本的な使い方
最終更新日:2019-10-05

VBEの使い方:ウォッチ ウィンドウ


VBE(Visual Basic Editor)は、VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境です。
ここではウォッチ ウィンドウの使い方について説明します。


ウォッチウィンドウの表示

メニュー「表示」→「ウォッチ ウィンドウ」

VBA VBE ウォッチウィンドウ

初期設定では、コードウィンドウの下にドッキング表示されます。

VBA VBE ウォッチ ウィンドウ

ウォッチウィンドウとは

ウォッチウィンドウに変数や式を追加(ウォッチ式の追加)することで、
変数の中身を見られるようにしたり、条件を満たしたときや値が変わった時にVBAを中断させることができます。
中断したVBAは、F8(ステップイン)またはF5で継続できます。

ウォッチ式の追加は、VBA実行前でも実行途中でもいつでも追加できます。
ウォッチ式を追加した時点から有効となります。

「ウォッチ式の追加」の操作手順

ウォッチ式の追加でウォッチウィンドウへ式を追加すると、ウォッチウィンドに一覧登録されます。

VBA VBE ウォッチ ウィンドウ

ウォッチ式の追加の手順がいくつかあるので、順に説明します。

右クリックメニュー
コードウィンドウで右クリック
VBA VBE ウォッチ ウィンドウ

「ウォッチ式の追加」」ダイアログ画面が表示されます。
ウォッチウィンドウで右クリック
VBA VBE ウォッチ ウィンドウ

「ウォッチ式の追加」」ダイアログ画面が表示されます。
ツールバー「デバッグ」
変数または式を選択しておきます。
VBA VBE ウォッチ ウィンドウ

VBA VBE ウォッチ ウィンドウ
マクロ VBA サンプル画像 クイック ウォッチ(Shift + F9)


「クイック ウォッチ」ダイアログ画面が表示されます。

VBA VBE ウォッチ ウィンドウ

「追加」クリックで「ウォッチ式の追加」」画面が表示されます。

変数または式が選択されていない場合は、エラーとなります。

VBA VBE ウォッチ ウィンドウ

ドラッグ&ドロップ
コードウィンドウから、ドラッグ&ドロップで追加できます。

VBA VBE ウォッチ ウィンドウ

ウォッチ式の削除・編集
ウォッチウィンドウの、当該の式を右クリック

VBA VBE ウォッチ ウィンドウ

ウォッチ式の編集
VBA VBE ウォッチ ウィンドウ

編集して「OK」で変更されます。

ウォッチ式の削除
ウォッチウィンドウから削除されます。

ウォッチ式の追加

VBA VBE ウォッチ ウィンドウ

対象
ウォッチ式の対象を指定します。
対象とは、
その変数・式が、どのモジュールのどのプロシージャーに含まれているものかという事です。

VBA VBE ウォッチ ウィンドウ

VBA VBE ウォッチ ウィンドウ

操作したモジュールの操作したプロシージャーが初期選択されているので、
ほとんどの場合は、そのままで良いはずです。

ドロップダウンで表示されるプロシージャーは、その下で選択したモジュールがリストされます。

ウォッチの種類
式のウォッチ
式(変数や式)の値が表示されます。
配列やオブジェクトでは、ドリルダウンでさらに詳細を見ることができます。

表示内容は、ローカルウィンドウと同様となります。
ローカルウィンドウとの大きな違いは、
実行中のプロシージャー以外の変数も見ることができることです。


VBA VBE ウォッチ ウィンドウ

同一の変数名も多々あり得るので、
そのような場合は、「対象」を良く確認する必要があります。

式が True のときに中断
式が条件を満たした(Trueになった)ときに、VBAが中断されます。

VBA VBE ウォッチ ウィンドウ

VBA VBE ウォッチ ウィンドウ

cnt = cnt + 2 これによって、cntの値が12になった時、
cnt>10がTrueとなり、VBAが中断します。

F5またはF8で継続できます。

式の内容が変化したときに中断
式の値が変化したときに、VBAが中断されます。

VBA VBE ウォッチ ウィンドウ

VBA VBE ウォッチ ウィンドウ

cnt(Long型)はプロシージャー開始時点で0で初期化されています。
値が、0以外になった時にVBAが中断します。
変数に同じ値を入れても中断しません、あくまで内容が変わった時に中断します。

変数ではなく、関数、数式、条件式等の式を指定した場合には、式の評価結果が変化した場合に中断します。

F5またはF8で継続できます。

ウォッチウィンドウの制限

オブジェクトの中の、引数が必要なプロパティは表示されません。
例えば、RangeのAddressプロパティは、引数があるので表示されません。

VBA VBE ウォッチ ウィンドウ

同様にValueにも引数があるので表示されませんが、Value2は引数が無いので表示されています。
※引数が省略可能なものであっても、そのプロパティは表示されません。

VBA VBE ウォッチ ウィンドウ

Valueの引数について
VBA VBE ウォッチ ウィンドウ

引数のあるプロパティは、そのプロパティをウォッチ式として追加すれば見ることができます。

VBA VBE ウォッチ ウィンドウ

ウォッチウィンドウの最後に

ウォッチウィンドウはとても強力な機能です。
しかし、若干使い方が面倒な感じを受けてしまうかもしれません。

プロシージャーのローカル変数ならローカルウィンドウで済みますし、
一度見るだけなら、イミィディエイトウィンドウで済んでしまうからです。

VBAを中断させる方法としても、
If+ブレークポイントやDebug.Assertを使う事でも同じことができます、
これらの方法を使う人の方が多いかもしれません。

しかし、デバッグ中に何度も確認する変数や、ある条件になった時に停止させたい場合はとても便利に使えます。
イミィディエイトウィンドウローカルウィンドウとともに、いつでも使えるようにしておきましょう。



同じテーマ「VBA入門」の記事

VBEの使い方:VBE画面の全体説明
VBEの使い方:ツールのオプション設定
VBEの使い方:ツールバー
VBEの使い方:右クリックメニューとヘルプ
VBEの使い方:ショートカットキーとコード編集
VBEの使い方:イミディエイト ウィンドウ
VBEの使い方:ローカル ウィンドウ
VBEの使い方:ウォッチ ウィンドウ
VBEの使い方:オブジェクト ブラウザー
VBEの使い方:デバッグ


新着記事NEW ・・・新着記事一覧を見る

SQL関数と演算子|SQL入門(12月1日)
データの取得:集約集計、並べ替え(DISTINKT,GROUP BY,ORDER BY)|SQL入門(11月30日)
データの取得:条件指定(SELECT,WHERE)|SQL入門(11月29日)
データの挿入:バルクインサート|SQL入門(11月28日)
データの挿入(INSERT)と全削除|SQL入門(11月26日)
テーブル名変更と列追加(ALTER TABLE)とテーブル自動作成|SQL入門(11月25日)
テーブルの作成/削除(CREATE TABLE,DROP TABLE)|SQL入門(11月24日)
データベースに接続/切断|SQL入門(11月23日)
SQLiteのインストール|SQL入門(11月22日)
SQL入門:VBAでデータベースを使う|エクセルの神髄(11月22日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.マクロって何?VBAって何?|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • VBEの使い方:ウォッチ ウィンドウ

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
    掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
    本文下部へ