一次元配列の要素の重複を除きたい
一次元配列の要素の重複を除きたい場合があります。
連想配列Dictionaryであれば処理ができるのですが、違うやり方もあります。
VBAには重複要素を除く関数は用意されていないので、Excel関数(Unique関数)を使用します。
一次元配列の要素の重複を除くサンプルコード
'■1次元配列の要素の重複要素を除くサンプルコード Public Sub sample() Dim arr As Variant '■配列に値を代入する。 arr = Array("あ", "い", "う", "う", "え", "お") Dim tmp As Variant '■WorkSheet関数のUnique関数で重複をなくす tmp = WorksheetFunction.Unique(arr, True) Debug.Print tmp(0) 'あ Debug.Print tmp(1) 'い Debug.Print tmp(2) 'う Debug.Print tmp(3) 'え Debug.Print tmp(4) 'お End Sub
注意点
- Unique関数はOffice365でのみ使用可能です。
- 対応していなければ、実行時エラーが発生します
実行時エラー1004「WorksheetFunctionクラスのUniqueプロパティを取得できません。 」
コメント