配列(一次元/二次元)

一次元配列の要素の重複を除く【Unique関数】【ExcelVBA】

一次元配列の要素の重複を除きたい

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

関連記事

コメント

タイトルとURLをコピーしました