辞書 Dictionary のループ処理

このコードは、VBAでDictionaryオブジェクトの要素をループ処理して、キーと対応する値を順に出力するサンプルです。

' 辞書 Dictionary のループ処理
Private Sub Dictionary_ForEach()
    Dim members As Dictionary
    Set members = New Dictionary

    With members
        .Add "m01", "Bob"
        .Add "m02", "Tom"
        .Add "m03", "Ivy"
    End With
    
    Dim myKey As Variant
    For Each myKey In members
        Debug.Print myKey, members(myKey)
    Next myKey
End Sub

コードの詳細

  1. Dictionaryオブジェクトの生成:
    Dim members As Dictionary
    Set members = New Dictionary
    まず、Dictionaryオブジェクトを生成し、それをmembersという変数にセットします。
  2. データの追加:
    With members
    .Add "m01", "Bob"
    .Add "m02", "Tom"
    .Add "m03", "Ivy"
    End With
    membersというDictionaryオブジェクトに、キーと値のペアを追加しています。この場合、以下の3つのキーと値のペアが追加されます:
    • "m01": "Bob"
    • "m02": "Tom"
    • "m03": "Ivy"
  3. ループ処理:
    Dim myKey As Variant
    For Each myKey In members
    Debug.Print myKey, members(myKey)
    Next myKey
    ここでは、For Eachループを使ってmembersのすべてのキーを順に取得し、それに対応する値と一緒に出力しています。
    • For Each myKey In membersは、Dictionary内の各キーを順にmyKeyに代入します。
    • Debug.Print myKey, members(myKey)は、現在のキーとそのキーに対応する値を出力します。

出力結果

このコードを実行すると、以下のようにキーとその対応する値が順に出力されます。

m01    Bob
m02    Tom
m03    Ivy

コード全体の動作まとめ

  • Dictionaryオブジェクトを作成し、キーと値のペアを追加します。
  • For Eachループを使用して、Dictionary内のすべてのキーを順に処理し、それに対応する値とともに出力します。

このコードは、Dictionary内のすべての要素をループ処理して操作する方法を示しています。ループ処理により、各キーとその値に対して処理を行うことができます。

Follow me!