エクセルVBAのローカルウィンドウで変数の値を見ながらデバッグする方法

こんにちは~。「デザインもできるシステムエンジニア」のあつもり(@atumori17)です。今回も業務効率化のアイデアやエクセルVBAなどのテクニックを発信していきます。

前回はステップインなどの基本的なデバックメニューを紹介しました。

VBAのステップインなどのデバッグコマンドの使い方を初心者向けに丁寧に解説します
初心者にとってわかりにくい「VBAのデバックコマンドーの使い方」を解説しています。基本となるステップイン、ステップオーバー、ステップアウト、カーソル行の前まで実行の使い方を説明します。これらの基本コマンドを使いこなし、上手にデバッグできるようになれば効率的にプログラム開発することができますよ。

今回はエクセルVBAのローカルウィンドウで変数の値を見ながらデバッグする方法を紹介します。

特にエクセルVBA初心者がデバッグを行う上でとても役に立つ便利な機能です。

レクタングル大336×280

ローカルウィンドウとは

ローカルウィンドウとはプロシージャ内で使われている変数を全て表示してくれるウィンドウです。

デバッグ時に変数にどんな値が入ったのかなどの動きがわかるためとっても便利です。VBA初心者がプログラムの動きの理解を深めるのにも役に立ちます。

デバッグ時に変数の上にカーソルを持っていくと、変数の値が見れるのは知っている人も多いかと思います。

ただこの方法だと知りたい変数の上にその都度、カーソルを持っていかなければならないので、とても効率が悪いですよね。

それだったらすべての変数を一覧で表示させちゃおう!というのがローカルウィンドウの役割というわけです。

ローカルウィンドウを表示させる

ローカルウィンドウの役割がわかったところで、さっそく表示させてみましょう。

ローカルウィンドウを表示させるにはメニューの「表示」から「ローカルウィンドウ」をクリックします。

するとコードウィンドウの下にローカルウィンドウが表示されます。

デバッグしてみる

ローカルウィンドウを表示できましたので、ブレークポイントを置いてデバッグしてみます。このプログラムは行番号に10を掛けた数字をセルに入力するプログラムです。

ステップ実行を開始するとローカルウィンドウに変数の一覧が表示されます。

ローカルウィンドウの一番上に現在実行中のプロシージャ名が表示されます。ここではPutNumberが表示されていますね。

そしてその下に

  • 変数名
  • 変数に入っている値
  • 変数の型

が表示されます。

変数の値はステップ実行を進めていくと変化していきます。

For y = 1 To 10

処理・・・・

Next y

のところではyは10回ループしますから、yの値は1から10まで変化していきますよね。

ステップ実行を進めていき、別ノプロシージャに処理が移った場合、ローカルウィンドウで表示される変数は、プロシージャ内で使われている変数に変わります。

ここではFunction AddNumberで使われている変数だけが表示されていますね。

変数の中身を見る方法は、さきほど説明したように、変数の上にカーソルを持って行ったり、イミディエイトウィンドウやウォッチウィンドウを使ってもできます。

しかし効率が悪かったり、変数の登録が必要だったりするので、ローカルウィンドウを使うのが一番簡単で手っ取り早い方法です。

ただしローカルウィンドウを使うと全ての変数が表示されてしまうので、見づらいことがあるかもしれません。でも何も見えないより全然ましですよね~。

まとめ

いかがでしたか?今回はエクセルVBAのローカルウィンドウで変数の値を見ながらデバッグする方法を紹介しました。

ローカルウィンドウを使うとプログラムの動きへの理解が深まるので、まだ使ったことがない人や初心者のかたは試してみてください。