エクセルマクロ 複数列の重複しないリストを作成(動画あり)

エクセルマクロ:複数セルで重複しないリストを作成アイキャッチ ExcelVBA

エクセルマクロで、複数列の重複しないリストを作成するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
動画で動作確認ができます👇

複数列の重複しないリストを作成

以下のマクロを実行すると、複数セルの重複しないリストを作成します。


Sub 重複しないリストを作成()

Dim DicShohin As Variant
Dim LastRow As Long
Dim i As Long
Dim Shohin_Cnt As Long
Dim GetCode As String
Dim GetName As String

  Shohin_Cnt = 1

  '連想配列
  Set DicShohin = CreateObject("Scripting.Dictionary")
    
  'A列の最終行を取得
  LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
  '2行~最終行まで、重複しない 「商品コード」 と 「商品名」 のリストを取得
  For i = 2 To LastRow
    
    'A列の値を変数へ
    GetCode = Cells(i, 1)

    'B列の値を変数へ
    GetName = Cells(i, 2)
        
    '重複しないリストを連想配列へ
    If Not DicShohin.Exists(GetCode & "_" & GetName) Then
            
      DicShohin.Add GetCode & "_" & GetName, GetCode & "_" & GetName & ","
            
    '重複していない値をF列、G列に転記
      Cells(Shohin_Cnt + 1, 6) = Cells(i, 1)
      Cells(Shohin_Cnt + 1, 7) = Cells(i, 2)
            
    Shohin_Cnt = Shohin_Cnt + 1

    End If
            
  Next i
    
  Set DicShohin = Nothing

End Sub

 

マクロ実行後


 

連想配列の中身

「商品コード」と「商品名」の間にアンダーバー「 _ 」を入れているのは、
ウォッチウィンドウで確認するときに値が見やすいかなと思ったためです。


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】重複データを自動処理する使用例まとめ
 

【エクセルマクロ】重複データを自動操作:超便利13選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!