VBAでDictionaryにAddしようとしたときの重複エラーを解決したい
Dictionary型の変数を定義し、
#Add
メソッドを使って下記の例のような処理を書いた際に重複エラーとなってしまいます。
当方実行環境がmacOSのため、Dictionaryクラスは以下からclsファイルをダウンロードしプロジェクトにインポートしております。
https://github.com/VBA-tools/VBA-Dictionary
下記に詳細を記載致しますので、お力添えいただけないでしょうか。
ソースコード
vba
1Function hoge() 2 'Dictionary型の変数宣言 3 Dim dic As New Dictionary 4 5 '宣言した変数に値追加 6 dic.Add "あいう", "かきくけこ" 7 dic.Add "アイウ", "カキクケコ" 8End Function
エラー内容
おそらく「あいう」と「アイウ」が同じ文字列と判定されてしまっているようで、
下記のようなエラーとなります。
実行時エラー '457': このキーはすでにこのコレクションの要素に割り当てられています。
試したこと
以下のようにプロパティをセットし、完全一致でキーの値を検索するようにしました。
vba
1Function hoge() 2 Dim dic As New Dictionary 3 dic.CompareMode = BinaryCompare '⇐追加 4 5 dic.Add "あいう", "かきくけこ" 6 dic.Add "アイウ", "カキクケコ" 7End Function
ただ、CompareMode
はデフォルトがBinaryMode
であること、
CompareMode
を変更しても#Add
には影響が無いとの情報から挙動は変わりありませんでした。
補足情報(FW/ツールのバージョンなど)
OS: macOS Catalina
Excelバージョン: Microsoft Excel 2019 for Mac
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/16 07:50