即時ウィンドウで配列やオブジェクトの中身を詳しく確認する方法
VBAの 即時ウィンドウ は「変数の値を確認・変更」するだけでなく、配列やオブジェクトの中身を詳しく調べるのにも使えます。大量データや複雑なクラスのデバッグにとても役立ちます。
1. 配列の中身を確認する
要素を個別に確認
Dim arr(1 To 5) As Integer
Dim i As Integer
For i = 1 To 5
arr(i) = i * 10
Next i
Stop ' ← 即時ウィンドウで確認
VB即時ウィンドウで:
? arr(1)
? arr(5)
VB→ 要素ごとの値を表示
ループでまとめて確認(コード側)
For i = LBound(arr) To UBound(arr)
Debug.Print "arr(" & i & ")=" & arr(i)
Next i
VB→ 即時ウィンドウに配列の全要素が出力される
2. オブジェクトの中身を確認する
プロパティを直接参照
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
Stop
VB即時ウィンドウで:
? ws.Name
? ws.Range("A1").Value
VB→ オブジェクトのプロパティを確認できる
クラスのプロパティやメソッド
Dim acc As New BankAccount
acc.Initialize 10000, "1234"
Stop
VB即時ウィンドウで:
? acc.Balance
acc.Deposit 5000
? acc.Balance
VB→ クラスのプロパティやメソッドを直接呼び出して確認可能
3. 配列やオブジェクトを「詳しく」見る工夫
- ウォッチ式を使うと、配列やオブジェクトの値を自動更新で監視できる
- Debug.Print を組み合わせると、即時ウィンドウに履歴を残せる
- For Each を使えばコレクションやオブジェクトの一覧を簡単に出力できる
例:ワークシート一覧を即時ウィンドウに出力
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Debug.Print ws.Name
Next ws
VBまとめ
- 配列は
? arr(i)で個別確認、ループ+Debug.Printで全体確認 - オブジェクトは
? obj.Propertyでプロパティを確認、メソッドも呼び出せる - ウォッチ式+即時ウィンドウを組み合わせると「リアルタイム監視+履歴確認」が可能
👉 このテクニックを使えば「配列の中身を一気に確認」「オブジェクトの状態をその場でチェック」できるので、デバッグ効率が大幅に上がります。

