「このキーは既にこのコレクションの要素に割り当てられています」が出た場合
Dictionaryを使用時、「実行時エラー457 このキーは既にこのコレクションの要素に割り当てられています」が発生する場合があります。
同一のキーを登録しようとすると、エラーが発生します。
Dictionaryはキーの重複は許容されません。
「このキーは既にこのコレクションの要素に割り当てられています」が発生するコードと対処方法
'要参照設定 Microsoft Scripting Runtime
Public Sub sample()
Dim dic As Dictionary
Set dic = New Dictionary
'■同一のキー「A」は登録できない
dic.Add "A", "12345"
dic.Add "A", "23456" '実行時エラー457 このキーは既にコレクションに割り当てられています
dic.Add "a", "23456" '実行時エラー457 このキーは既にコレクションに割り当てられています
'Compareモードを緩くするとカタカナや大文字小文字を許容する
dic.CompareMode = vbBinaryCompare
dic.Add "a", "12345"
End Sub
その他
- Dictionaryと配列の大きな違いが重複を許容するかどうかです。
Dictionaryと配列を使いこなすことでVBAがもっと楽になります。




コメント