辞書 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
コードの詳細
Dictionary
オブジェクトの生成:Dim members As Dictionary
Set members = New Dictionary
まず、Dictionary
オブジェクトを生成し、それをmembers
という変数にセットします。- データの追加:
With members
.Add "m01", "Bob"
.Add "m02", "Tom"
.Add "m03", "Ivy"
End With
members
というDictionary
オブジェクトに、キーと値のペアを追加しています。この場合、以下の3つのキーと値のペアが追加されます:"m01"
:"Bob"
"m02"
:"Tom"
"m03"
:"Ivy"
- ループ処理:
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
内のすべての要素をループ処理して操作する方法を示しています。ループ処理により、各キーとその値に対して処理を行うことができます。