Excel VBA | 即時ウィンドウで配列やオブジェクトの中身を詳しく確認する方法

VBA
スポンサーリンク

即時ウィンドウで配列やオブジェクトの中身を詳しく確認する方法

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 でプロパティを確認、メソッドも呼び出せる
  • ウォッチ式+即時ウィンドウを組み合わせると「リアルタイム監視+履歴確認」が可能

👉 このテクニックを使えば「配列の中身を一気に確認」「オブジェクトの状態をその場でチェック」できるので、デバッグ効率が大幅に上がります。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました