分かりやすく、使いやすく。

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 でキーの大文字と小文字を区別しないようにする方法を参照してください。

スポンサーリンク
スポンサーリンク