エクセルマクロで、重複しないドロップダウンリストを表示する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自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク