VBAのコーディング時に利用するVBEには、
- イミディエイトウィンドウ
- ローカルウィンドウ
- ウォッチウィンドウ
という、デバッグに使える3種類のウィンドウが用意されています。
この3つのうち、ローカルウィンドウとウォッチウィンドウが、どう違うのかよくわからないという方もいらっしゃるようです。
このサイト『インストラクターのネタ帳』のアクセスログでも
「ウォッチウィンドウとローカルウィンドウの違い」
といった検索キーワードを見かけます。
ローカルウィンドウはウォッチウィンドウの機能限定版
一言で言えば、ローカルウィンドウはウォッチウィンドウの機能限定版です。
ローカルウィンドウでは、ローカル変数とモジュールレベル変数しか確認できませんが、ウォッチウィンドウでは変数ではない式も確認できます。
ただし、ウォッチウィンドウではウォッチ式の登録が必ず必要ですが、ローカルウィンドウでは登録の手間はありません。
この意味で拙著『いちばんやさしいExcel VBAの教本』では、初心者の方に向けてローカルウィンドウをおすすめしています。
またウォッチウィンドウでは、式の確認だけではなく、条件に応じて実行途中で中断するといったこともできます。
ウォッチウィンドウでは変数の確認にも登録が必要
ウォッチウィンドウでは、変数でもウォッチ式の登録が必要なことを確認しましょう。Dim tmp
tmp = ActiveCell.Value
MsgBox tmp
End Sub
上記のようなSubプロシージャをショートカットキー[F8]でステップ実行を開始した時点で、ローカルウィンドウでは下図のように変数tmpが確認できる状態になります。
これに対しウォッチウィンドウでは登録していない限り、何も表示されません。
変数tmpをウォッチ式として登録してはじめて、下図のようにローカルウィンドウと似た状態になります。
ウォッチウィンドウなら式も確認できる
登録作業が必要な点が面倒ですが、ウォッチウィンドウでは、式も確認できます。MsgBox ActiveCell.Value
End Sub
上記のようなSubプロシージャの場合、ローカルウィンドウでは何も確認できませんが、ウォッチウィンドウなら「ActiveCell.Value」という式を登録すれば確認できます。
(上図はアクティブセルに 2018/11/05 という日付データが入力されている状態です)
最終更新日時:2018-11-08 10:58
Home » VBE(Visual Basic Editor) » ウォッチウィンドウとローカルウィンドウの違い