Excel VBA | 即時ウィンドウでコレクションやDictionaryの中身を確認する方法

VBA
スポンサーリンク

即時ウィンドウでコレクションやDictionaryの中身を確認する方法

VBAの 即時ウィンドウ は、配列やオブジェクトだけでなく CollectionScripting.Dictionary の中身を確認するのにも使えます。大量データやキーと値のペアを扱うときにとても便利です。


1. Collection の中身を確認する

サンプルコード

Sub TestCollection()
    Dim col As New Collection
    col.Add "Apple"
    col.Add "Banana"
    col.Add "Cherry"
    Stop   ' ← 即時ウィンドウで確認
End Sub
VB

即時ウィンドウで確認

? col.Count
VB

→ 要素数を表示

? col.Item(1)
? col.Item(2)
VB

→ 個別要素を表示

全要素を確認(コード側)

Dim item As Variant
For Each item In col
    Debug.Print item
Next item
VB

→ 即時ウィンドウに全要素が出力される


2. Dictionary の中身を確認する

サンプルコード

Sub TestDictionary()
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
    
    dict.Add "A", "Apple"
    dict.Add "B", "Banana"
    dict.Add "C", "Cherry"
    Stop   ' ← 即時ウィンドウで確認
End Sub
VB

即時ウィンドウで確認

? dict.Count
? dict.Exists("B")
? dict.Item("B")
VB

→ 要素数、キーの存在確認、値の取得

全キーと値を確認(コード側)

Dim key As Variant
For Each key In dict.Keys
    Debug.Print key, dict(key)
Next key
VB

→ 即時ウィンドウに「キーと値のペア」が一覧表示される


3. ウォッチ式と組み合わせる

  • ウォッチ式col.Countdict.Count を追加すると、実行中に要素数が変化するたびに監視できる
  • dict("A") のように特定キーの値をウォッチしておくと、更新の瞬間に停止させることも可能

まとめ

  • CollectionItem(index) で要素を確認、For Each で全体を出力
  • DictionaryItem(key) で値を確認、Keys を使って全体を出力
  • 即時ウィンドウでは ? を付けて値を表示、= で値を変更も可能
  • ウォッチ式と組み合わせると「リアルタイム監視+条件付き停止」ができる

👉 このテクニックを使えば「コレクションやDictionaryの中身をその場で確認・変更」できるので、デバッグ効率が大幅にアップします。

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