【エクセルマクロ】重複しないドロップダウンリストの表示方法を解説するよ

エクセルマクロ重複しないドロップダウンリストを表示するアイキャッチ エクセルマクロで効率化する

エクセルマクロで、重複しないドロップダウンリストを表示するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!
 

重複しないドロップダウンリストを表示する

以下のマクロを実行すると、重複しないドロップダウンリストを表示します。

Sub 重複しないドロップダウンリストを表示()

Dim DicName As Variant
Dim i As Long
Dim LastRow As Long
Dim GetName As String
Dim ListName As String
    
    '連想配列
    Set DicName = CreateObject("Scripting.Dictionary")
    
    '最終行を取得
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    '2行~最終行まで、重複しない「商品名」のリストを取得
    For i = 2 To LastRow
    
        '値を変数へ
        GetName = Cells(i, 2).Value & ","
        
        '重複しないリストを連想配列へ
        If Not DicName.Exists(GetName) Then
            DicName.Add GetName, GetName
            ListName = ListName & GetName
        End If
            
    Next i
    
    'ドロップダウンリストを作成
    With Cells(2, 5).Validation
      .Delete
      .Add _
          Type:=xlValidateList, _
          Formula1:=ListName
    End With
    
    Set DicName = Nothing
    
End Sub

 

元データが増えた場合、ドロップダウンリストの表示は更新されるの?

B列の「商品名」に新たにデータを追加した場合は、再度、上記で紹介したマクロを実行してください。
ドロップダウンに表示されるデータが更新され、リストに追加されます。


 

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