Dictionary をループして処理する方法
スポンサーリンク
Dictionary をループして処理するには、 For Each を使用する方法と For を使用する方法があります。
For Each でループする方法
サンプルコードは次の通りです。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Option Explicit Sub test1() 'Dictionary の初期化 Dim dicColors As Object Set dicColors = CreateObject("Scripting.Dictionary") 'キーと値を追加 dicColors.Add "red", "赤" dicColors.Add "blue", "青" dicColors.Add "pink", "桃" 'Dictionary をループして中身を表示 Dim key As Variant For Each key In dicColors Debug.Print "キーの値:" & key; "、対応する値:" & dicColors(key) Next key End Sub |
上記の実行結果は次の通りです。
実行結果 | |
1 2 3 | キーの値:red、対応する値:赤 キーの値:blue、対応する値:青 キーの値:pink、対応する値:桃 |
For ループする方法(keysとitemsを使用する)
サンプルコードは次の通りです。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Option Explicit Sub test2() 'Dictionary の初期化 Dim dicColors As Object Set dicColors = CreateObject("Scripting.Dictionary") 'キーと値を追加 dicColors.Add "red", "赤" dicColors.Add "blue", "青" dicColors.Add "pink", "桃" 'ループ用の変数 Dim i As Integer Dim keys Dim items keys = dicColors.keys items = dicColors.items 'ディクショナリの要素数だけループする For i = 0 To dicColors.Count - 1 Debug.Print "キーの値:" & keys(i) & "、対応する値:" & items(i) Next i End Sub |
上記の実行結果は次の通りです。
実行結果 | |
1 2 3 | キーの値:red、対応する値:赤 キーの値:blue、対応する値:青 キーの値:pink、対応する値:桃 |
スポンサーリンク