【マクロVBA】イミディエイトウインドウを表示して変数・配列内の文字数値の確認や計算・変更を出力

デバッグ操作

前回はブレークポイントなどを使用してプロシージャ(プログラム)実行を行いました。
プログラムの実行についての記事はこちらから☟

【マクロVBA知識 28】指定した位置まで実行する!ブレークポイント・カーソル行の前まで実行とは ► 独学エクセル塾 (dokugakuexcel.com)

今回はデバッグ操作で役立つ変数の確認・変更、計算結果の出力や
プログラムの実行ができるイミディエイトウインドウ
について紹介したいとします。

特に変数の確認や配列内のデータ確認はとても便利なのでぜひ身に着けてみてください。

それでは見ていきましょう。




■イミディエイトウインドウの表示方法について

まず、イミディエイトウインドウの表示方法について紹介します。
イミディエイトウインドウは通常は隠れていますが、設定して表示することで
初めて使用することができます。

表示する方法は2種類あります。

①ショートカットキーを使用する
②表示メニューから表示する

では詳しく見ていきましょう。

・①ショートカットキーを使用する

まずはショートカットキーを使用する方法についてです。
ショートカットキーは手間が少なくとても便利なのでおすすめです。

イミディエイトウインドウを表示するショートカットキーは「Ctrl + G 」になります。
では押してみましょう。

イミディエイトウインドウを表示することができました。

・②表示メニューから表示する

次は表示メニューからイミディエイトウインドウを表示する方法について紹介します。
まず「表示」のメニューを選択してください。

そこから「イミディエイトウインドウ」を押せばイミディエイトウインドウを表示することができます。

では実際にイミディエイトウインドウを活用してみましょう。

■イミディエイトウインドウを活用する

ではイミディエイトウインドウを用いて実際にどんなことができるのか紹介したいとします。

・変数を確認・変更する

まず変数の確認について紹介します。
例としてFor Nextの見本を用意しました。

内容としてB列・C列の数値の和をE列に表示するといった内容です。

こちらの処理プログラムはこのようになります。

Sub 数値1と2の和2()

Dim A As Long

For A = 3 To 7 Step 1
Cells(A, 5) = Cells(A, 2) + Cells(A, 3)
Next A

End Sub

プログラムの内容としてはAは3から7まで繰り返す処理となってます。
しかしデバック途中に変数はどのくらい進んだのかきになりますよね。

では下記の処理まで進めた状態で変数の確認をしてみます。

ではイミディエイトウインドウを活用しましょう。
使用方法として「?」の後に知りたい変数を打ち込みます
今回は変数Aを知りたいので「?A」となりますね。

この状態で「Enter」を押してみましょう。

「5」という結果が出力されました。
処理はA=3行目から始まっって5行目で止まっているので「5」が出力された仕組みです。

変数の変更については下記記事でまとめてますので是非参考にしてみてください☟

【マクロVBAデバッグ】繰り返し処理の変数を任意の数値・途中から実行する方法について ► 独学エクセル塾 (dokugakuexcel.com)

・セルの数値・文字を確認する

次にセルの内容の確認方法を見てみましょう。
先ほどの見本を使用します。

見本で「E3」の結果を知りたいとします
使用方法として「?」の後に知りたい変数を打ち込みます。
今回はE3の番地の数値・文字を知りたいので「?Cells(3,5)」となりますね。
「?Range(“E3”)」でも同じ意味です。

この状態で「Enter」を押してみましょう。

E3に入力されてある「46」が出力されました。

さらに配列内の数値・文字も確認してみましょう。

・配列内の数値・文字を確認する

次に配列内の数値・文字を確認してみましょう。
今回はB3からC7を変数Aという配列内に格納しています

Sub 配列内の数値を確認()

Dim A As Variant

A = Range(“B3:C7”)

End Sub

では配列Aの2行目の2列目の数値をイミディエイトウインドウで確認してみましょう。
配列Aの2行目の2列目は「A(2,2)」となります。

そしてこれまで通り先頭に「?」をイミディエイトウインドウに打ち込み
そのあとに「A(2,2)」を打ち込んで「Enter」を押します。

結果はこのようになります。

2行目の2列目である「48」が出力されました。
今回は配列内の行・列数は少ないですが
大量のデータを格納している数値を確認する際はとても便利ですね。

・文字・数値を入力・計算する

あまり使用する機会はないと思いますが
イミディエイトウインドウを用いて文字・数値を打ち込むことも可能です。

使用方法は簡単で、通常の文字・数値を打ち込むプログラム・計算するプログラムを
イミディエイトウインドウに入力し、「Enter」を押すだけです。

では見本を見てみましょう。

「E3」に「B3」と「C3」を足した数値を入力するとします。
プログラムは「Range(“E3”)=Range(“B3”)+Range(“C3”)」としましょう。

こちらをイミディエイトウインドウに直接打ち込みます。

実行した結果はこのようになります。

計算できていますね。
変数を用いて1回限りの計算をしたい時などには使用できるかもしれませんね。

■イミディエイトウインドウに結果を表示する

これまではイミディエイトウインドウから結果などを確認していましたが
結果をイミディエイトウインドウに表示することもできます

下図の見本をご覧ください。

数値1と数値2があります。
今回は2つの和をイミディエイトウインドウに表示してみましょう。

使用するのは「Debug.Print」になります。
使用方法としてDebug.Printの後にイミディエイトウインドウに表示したい
プログラムを入力
します。プログラムは変数でもいいですし、計算式でも構いません。

では下記プログラムをご覧ください。

Sub イミディエイトウインドウに表示()

Debug.Print Cells(3, 2) + Cells(3, 3)

End Sub

実行した結果はこのようになります。

数値1と数値2の和が表示されました。
変数の結果や式の結果を表示したい時に使用できますね。

⬛︎公式の説明

わかりやすいように説明したため公式と使用する語句が異なりますが
マイクロソフト公式の説明については下記のリンクを参照してください。☟

イミディエイト ウィンドウ (VBA) を使用する | Microsoft Learn

■まとめ

いかがだったでしょうか。
特に配列内の数値・文字の確認はイミディエイトウインドウを
活用すれば簡単に確認できるのでとても便利です

ぜひデバッグなどする際にはイミディエイトウインドウを用いて
効率的に実行してみてください。

それでは次回の記事でお会いしましょう。

コメント