一次元配列の要素の重複を除きたい
一次元配列の要素の重複を除きたい場合があります。
連想配列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プロパティを取得できません。 」



コメント