エクセルマクロで、入力規則のリストを別シートから作成するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください😉
入力規則を別シートから作成
以下のExcelVBAを実行すると、別シートと連動してプルダウンを設定します。
Sub ドロップダウンリスト別シートから作成()
Dim MyList() As Variant
Dim i As Long
Dim Sh1 As Worksheet
Dim Sh2 As Worksheet
'シートを変数に代入
Set Sh1 = Sheets("Sheet1")
Set Sh2 = Sheets("Sheet2")
'Sheet2の1~2行目をループ
For i = 1 To Sh2.Cells(Rows.Count, 1).End(xlUp).Row
'配列MyListにセル値を代入
ReDim Preserve MyList(i)
MyList(i) = Sh2.Cells(i, 1)
Next i
'Sheet1の指定範囲に入力規則を設定
With Sh1.Range("A2:A6").Validation
.Delete
.Add Type:=xlValidateList, _
Operator:=xlEqual, _
Formula1:=Join(MyList, ",")
End With
End Sub
マクロ実行前
Sheet1:入力規則を設定したいシート
Sheet2:入力規則に使いたい値を入力しておく
マクロ実行後
Sheet2の値を配列で取得して、
Sheet1に入力規則を作成します。
Sheet2に値を追加して、再度マクロを実行することで、
入力規則に値が自動追加されます。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】入力規則を自動処理する方法まとめ
【エクセルマクロ】入力規則を自動操作する:超便利5選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク