【VBA】配列から重複を除く【UNIQUE関数】

VBAで
 ・配列から重複を除く
ことができます!
※簡易にできます。

配列
配列
重複が除かれた配列
重複が除かれた配列

VBAから
 ・ワークシート関数である「UNIQUE関数」
を使用することで実現できます!
※UNIQUE関数はOffice365のExcelでのみ使用できる関数です。

PR

VBAコード

ここでは例として、
 ・配列から重複を除いて
 ・イミディエイトウインドウへ出力
します。

Option Explicit

Sub sample()
    
    Dim arr As Variant
    Dim arrUnique As Variant
    Dim item As Variant
    
    '配列を作成
    arr = Array("佐藤", "吉田", "加藤", "田中", "佐藤", "吉田", "加藤")
    
    '配列から重複を除く
    arrUnique = WorksheetFunction.Unique(arr, True)
    
    For Each item In arrUnique
        '重複が除かれた配列をイミディエイトウインドウへ出力
        Debug.Print item
    Next
    
End Sub

「WorksheetFunctionオブジェクト」の「Unique」メソッドにより、配列から重複を除きます(13行目)。
※「WorksheetFunctionオブジェクト」の「Unique」メソッドはワークシート関数「UNIQUE関数」です。
※第1引数に「重複を除きたい配列」を指定します。
※第2引数に「True」を指定します。

「WorksheetFunctionオブジェクト」の「Unique」メソッドは、Office365でのみ使用できるメソッドです。
※プリインストールされているExcelでは使用できません。

プリインストールされているExcelで「Unique」メソッドの実行を試みると、以下のエラーが発生します。

エラーメッセージ
PR

実行結果

配列から重複を除くことができました。

実行結果
実行結果
PR

参考①

シート上のデータを取得して、「重複が除かれた配列」を作成することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

シート上のデータの重複を除くこともできます。

詳細は以下の記事をご確認ください。

PR

参考③

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●UNIQUE関数


●イミディエイトウィンドウへ出力