【VBA】重複しないリストを作成する

例えば
 ・以下の表のB列「名前」の
 ・重複した値
から、

B列「名前」には重複した値が設定されている
B列「名前」には重複した値が設定されている

重複しないリストを
作成できます!

作成した重複しないリストをイミディエイトウインドウへ出力したモノ

VBAから
 ・Unique関数を使用
することで実現できます!
※Unique関数はOffice365のExcelでのみ使用できる関数です。

PR

VBAコード

ここでは例として、
 ・シート「sample」のB列「名前」に設定されている値を使用して
 ・重複しないリストを作成し
 ・イミディエイトウインドウへ出力
します。

B列「名前」には重複した値が設定されている
B列「名前」には重複した値が設定されている
Option Explicit

Sub sample()

    '列「名前(=2列目)」
    Const NAME_COLUMN As Integer = "2"
    
    Dim targetSheet As Worksheet
    Dim startRange As Range
    Dim endRow As Double
    Dim endRange As Range
    Dim targetRange As Range
    Dim arrUniqueList As Variant
    Dim item As Variant
    
    'リストのある対象シートを取得
    Set targetSheet = Worksheets("sample")

    'リストの開始セルを取得
    Set startRange = targetSheet.Range("B3")
    'リストの最終行を取得
    endRow = startRange.End(xlDown).row
    'リストの最終セルを取得
    Set endRange = targetSheet.Cells(endRow, NAME_COLUMN)
    
    'リストの対象範囲を取得
    Set targetRange = targetSheet.Range(startRange, endRange)
    
    '重複しないリストを作成
    arrUniqueList = WorksheetFunction.Unique(targetRange)
    
    For Each item In arrUniqueList
        '重複しないリストをイミディエイトウインドウへ出力
        Debug.Print item
    Next
    
End Sub

「WorksheetFunctionオブジェクト」の「Unique」メソッドにより、「重複しないリスト」を作成します。

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

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

エラーメッセージ
エラーメッセージ
PR

実行結果

重複しないリストを作成できました。

実行結果
実行結果
PR

参考

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

●「Unique」関数

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