Dictionary に要素を追加する方法
スポンサーリンク
Dictionary に要素を追加するには Add メソッドを使用します。 Add メソッドには、第一引数にキーを、第二引数に値を渡します。すでに登録済のキーが渡された場合、実行時エラー'457'「このキーはすでにこのコレクションの要素に割り当てられています」というエラーが発生します。
サンプルコードは次の通りです。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Option Explicit Sub test() '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、対応する値:桃 |
ちなみに次のサンプルコードのように、デフォルトではキーの大文字と小文字は区別されません。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Option Explicit Sub test() 'Dictionary の初期化 Dim dicColors As Object Set dicColors = CreateObject("Scripting.Dictionary") 'キーと値を追加 dicColors.Add "red", "赤1" dicColors.Add "Red", "赤2" dicColors.Add "REd", "赤3" dicColors.Add "RED", "赤4" dicColors.Add "rED", "赤5" dicColors.Add "reD", "赤6" 'Dictionary をループして中身を表示 Dim key As Variant For Each key In dicColors Debug.Print "キーの値:" & key; "、対応する値:" & dicColors(key) Next key End Sub |
上記の実行結果は次の通りです。
実行結果 | |
1 2 3 4 5 6 | キーの値:red、対応する値:赤1 キーの値:Red、対応する値:赤2 キーの値:REd、対応する値:赤3 キーの値:RED、対応する値:赤4 キーの値:rED、対応する値:赤5 キーの値:reD、対応する値:赤6 |
キーの大文字と小文字を区別しないようにする方法については、Dictionary でキーの大文字と小文字を区別しないようにする方法を参照してください。
スポンサーリンク