「このキーは既にこのコレクションの要素に割り当てられています」が出た場合
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がもっと楽になります。
コメント