VBAで配列から重複している要素を削除する

VBA

VBAで配列から重複している要素を削除するには
Dictionaryオブジェクトを使用します。

Dictionaryオブジェクトを使用するためには
Microsoft Scripting Runtimeに参照設定を行う必要があります。
参照設定の方法についてはこちらをご覧ください。

VBAで参照設定を行う
VBAに標準で含まれていない機能があるときは 外部のライブラリを参照して、外部ライブラリ内の機能を利用します。 この外部ライブラリの機能を利用する設定を、参照設定と言います。

 

配列から重複を削除するコードは以下になります。

 

配列の要素をDictionaryオブジェクトに格納します。
Existsメソッドを使用し、格納されてない配列要素だけを
Dictionaryに格納します。

 

tmpAryをDictionaryのデータサイズ分、要素数を確保します。

 

Dictionaryの内容をtmpAryに格納します。

 

tmpAryを戻り値として返します。

 

test_deleteDuplicateItemでdeleteDuplicateItem Functionのテストをしてみます。
配列aryの”テスト1″という項目が重複しています。

 

コードを動かすと配列の重複要素を削除した内容をメッセージボックスに表示します。

コメント