エクセルマクロ 重複しないドロップダウンリスト表示:動画あり

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

エクセルマクロで、重複しないドロップダウンリストを表示する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列の「商品名」に新たにデータを追加した場合は、再度、上記で紹介したマクロを実行してください。
ドロップダウンに表示されるデータが更新され、リストに追加されます。


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

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

 

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