エクセルマクロで、複数列の重複しないリストを作成する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選
エクセルマクロで、重複データを自動操作するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!
[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう
ChatGPTと対話しながら身につける、新しいVBA入門
リンク
★★★★★ 4.6 ※ Amazonカスタマーレビューより
✓マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
✓「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
✓変数・条件分岐・ループなどVBAの基礎もしっかり解説されている