Excel VBAの連想配列[Dictionary]で、キーの大文字・小文字を区別しないようにする方法を解説します。
大文字・小文字を区別する(デフォルトの設定)
デフォルトの設定では、大文字・小文字を区別する設定になっています。
なので、下記のサンプルはエラーが発生せずに処理されます。
Sub Sample()
' 宣言
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
' 大文字・小文字を区別する
dic.CompareMode = vbBinaryCompare
' キーとアイテムを登録する
dic.Add "ABC", "ABC"
dic.Add "abc", "abc"
' 要素数の確認
Debug.Print (dic.Count)
End Sub
大文字・小文字を区別しない
下記は、大文字・小文字を区別しないサンプルです。
Sub Sample()
' 宣言
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
' 大文字・小文字を区別しない
dic.CompareMode = vbTextCompare
' キーとアイテムを登録する
dic.Add "ABC", "ABC"
dic.Add "abc", "abc"
' 要素数の確認
Debug.Print (dic.Count)
End Sub
このサンプルを実行すると、以下のエラーが発生します。
これは、登録しようとしているキーが既に存在するというエラーです。
大文字・小文字を区別しない設定なので、「ABC」と「abc」は同じキーとして扱われています。
リンク
コメント