【エクセルマクロ】複数セルの重複しないリストを作成する

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

エクセルマクロで、複数セルの重複しないリストを作成する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

 

連想配列の中身

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


 
 

【エクセルマクロ】重複データを削除し合計を合算する
...