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関数で条件を変え合計を求める




































![[Sub/ユーザーフォームの実行(F5)]をクリックするとプログラムは継続する](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyZi_3RbhsJqaQReuCvyQcEknEOGnW5b8YfIdu7pgh7SkM6NWCPv87kEnTjZUKA2h9YatHLiJ_V8YFTs2lXhNT9jdQNqmowNPSq5XGpsPa6jkPB309UZkSeY6Ti9pnOjgMmDmoFxxhEoZ7/s1600/image849-3.gif)







![コードグループの[マクロ]をクリック](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF76EPHoFOv4rMu7tnsIZ82RThnoo3A3yWL3enkJqv6S_wGUpg53DOAOan2_4P5DxJzVBWZP4TescdNA_6ZdM9Rl3YE5pKhTdJOsxGr645uEJWZ9Dzu8EwKcw94Y-6nxHCluaESa5ItSY/s1600/image328-3.gif)
![名前を選択し[実行]をクリック](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvsTDPQgqGCeQdnW33hfd2MgKENGcMuu4J0E3NEMk-oCqK2bUBPELYsj1Gc4JNF3nnhUzeRwdlJzwllxpzIOstKpJygaLo9tN3RLse0AeSdxhDM_c2EtwwHvJFxc2PMpWrzzwGjOEVI64/s1600/image328-4.gif)





