イミディエイトウィンドウ
ExcelのVBAエディター内にあるイミディエイトウィンドウ(即時ウィンドウ)は、デバッグ作業や簡単なコードの実行、変数の値の確認に非常に便利なツールです。
今回は、イミディエイトウィンドウの基本的な使い方から応用的な使い方まで、詳細に説明します。
イミディエイトウィンドウの表示方法
まずは、表示方法です。
VBEの起動方法については、こちらを参照してください。
計算結果を表示
開発時にほぼ使うことはないかもしれませんが、計算結果を表示させることができます。
先頭に『?』をつけて計算式を入力し、Enterキーを押すと計算結果を確認することができます。
?2+2
4
?2*6
12
プロパティ(属性)値を表示
オブジェクトが持っているプロパティの値も確認することができます。
?Worksheets.Count
7
使い方③変数の値を表示
変数に入っている値を確認することもできます。
Dim total as Integer
total = 100 + 100
?total
200
プログラムを実行しながら変数やプロパティ値を確認
プログラムをステップインして1行1行実行しながら、変数やプロパティ値がどうなっているかを見ることができます。
イミディエイトウインドウでは、エンターキーを押して確認した時の、値を確認はできますが、プログラムの処理を進めて変数やプロパティ値が更新されても、最新の値は表示されません。
でも、デバッグするときに、値がどう変わっているかを確認したい時ってありますよね。
デバッグ実行時にイミディエイトウインドウに値を出力を命令する方法
『Debug.Print』でイミディエイトウインドウに変数やプロパティの値を出力し確認することができます。
Sub 繰り返し処理()
Dim i As Integer
For i = 1 To 100
ActiveSheet.Range("A1") = ActiveSheet.Range("A1") + i
Debug.Print "セルの値は" & ActiveSheet.Range("A1")
Debug.Print "変数の値は" & i
Next i
End Sub
プロシージャ(引数なし)を実行して確認
まずは引数がないプロシージャを呼び出して確認する方法です。
『プロシージャ名』を『入力しエンターキー』を押すだけです。
Public Sub 三角形の面積()
MsgBox "面積は" & (10 * 10) / 2
End Sub
プロシージャ(引数あり)を実行して確認
引数がある場合は、プロシージャ名の後に引数を指定することで確認ができます。
Public Sub三角形の面積(ByVal bottom As Integer)
MsgBox "面積は" & (bottom * 10) / 2
End Sub
複数の引数があるとエラーになる時がある。これは、イミディエイトウインドウは引数をもつSubプロシージャに対応していないからです。こういう時の回避方法は、値を渡すためのプロシージャを作成し、それをイミディエイトウインドウから呼び出すことで、確認することができます。
Public Sub 三角形の面積(ByVal bottom As Integer, ByVal height As Integer)
MsgBox "面積は" & (bottom * height) / 2
End Sub
Public Sub 三角形の値を渡す()
Call 三角形の面積(20, 100)
End Sub
関数(引数なし)を実行して確認
関数の結果を表示するようには、?を先頭につけて関数名を指定すると確認することができます。
Public Function 三角形の面積() As Integer
三角形の面積 = (10 * 20) / 2
End Function
関数(引数あり)を実行して確認
引数の関数の結果を表示するようには、?を先頭につけて関数名の後に、引数を指定するようにすると確認することができます。
Public Function 三角形の面積(ByVal bottom As Integer, ByVal height As Integer) As Integer
三角形の面積 = (bottom * height) / 2
End Function
コメント