【エクセルマクロ】入力規則を別シートから作成:動画あり

ExcelVBA-入力規則別シート作成-アイキャッチ ExcelVBA

エクセルマクロで、入力規則のリストを別シートから作成する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でワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載