Excel2013のマクロ(VBA)でプルダウンを作成する方法です。
選択セル・指定セル・範囲指定の3種類を作成します。リボンの[開発]~コントロールグループの[コードの表示]をクリックします。
≪選択セルにプルダウンを作成する≫
下記のコードを入力します。Option Explicit
Sub MyMakeList()
Selection.Cells.Validation.Add Type:=xlValidateList, _
Formula1:="見積書, 請求書, 納品書, 領収書"
End Sub
1.リボンの[開発]~コードグループの[マクロ]をクリックします。
2.作成した「MyMakeList」を選択します。
3.実行します。
これで選択セルにプルダウンが作成できました。
しかし、このままですと問題があります。
リストを変更したい場合など、作成済みセルに再作成しようとすると、下画像のようなエラーが発生します。
このエラーが発生しないよう、初めに作成済みリストを削除してから作成するように変更します。
Sub MyMakeList()
Selection.Cells.Validation.Delete
Selection.Cells.Validation.Add Type:=xlValidateList, _
Formula1:="見積書, 請求書, 納品書, 領収書, 受領書"
End Sub
これで下画像のようにエラーを発生させないで、リストを再作成できました。
≪指定セルにプルダウンを作成する≫
下コードのようにRangeでセルを指定します。
Sub MyMakeList()
Range("B4").Validation.Delete
Range("B4").Validation.Add Type:=xlValidateList, _
Formula1:="見積書, 請求書, 納品書, 領収書, 受領書"
End Sub
≪範囲指定したセルにプルダウンを作成する≫
下のようにRangeで範囲指定し実行します。
Sub MyMakeList()
Range("B4:D5").Validation.Delete
Range("B4:D5").Validation.Add Type:=xlValidateList, _
Formula1:="見積書, 請求書, 納品書, 領収書, 受領書"
End Sub
これで指定したセル全体にプルダウンが作成できました。
≪セルに入力したデータからリストを作成する≫
入力済みデータからプルダウンを作成するには、下記のコードになります。
Sub MyMakeList()
Range("D2").Validation.Delete
Range("D2").Validation.Add Type:=xlValidateList, _
Formula1:=Range("B2") & "," & Range("B3") & "," & _
Range("B4") & "," & Range("B5")
End Sub
プルダウンの作り方
プルダウンリスト連動の作成手順
ドロップダウンリストを解除する
ドロップダウンリストとSUMIF関数で条件を変え合計を求める