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

