0から始めるExcel VBA講座(13): カレンダー作成マクロ(8):年を選ぶプルダウンメニューを作成
今回は、年を選ぶプルダウンメニューを作成していきます。今まで、テキストを入力したり、テキストの文字の大きさを変えたりよりは、少しだけ高度な事をしますので、マクロを作っている気分を味わえると思います。
まず最初に、カレンダー作成マクロ_0.5.xlsmを開き、ファイル名をカレンダー作成マクロ_0.6.xlsmに変更して保存してください。
プルダウンメニューを作成するには、以下のようにコード書いていきます。
With Cells(行, 列).Validation
.Add Type:=xlValidateList, Formula1:="メニュー1,メニュー2,メニュー3"
End With
例えばA1のセルに、バナナ、リンゴ、イチゴが選択できるプルダウンメニューを作る場合、下記のように書きます。
With Cells(1, 1).Validation
.Add Type:=xlValidateList, Formula1:="バナナ,リンゴ,イチゴ"
End With
意外に簡単ですよね。
では、Module5を作成してください。そして「Sub Create_Pull_Down_Menu()」として「Enter」キーを押してください。その後、下記のようにコメントを書いてください。
ではB6のセルに、プルダウンメニューで、2021年~2041年を選べるようなコードを記述して下さい。それほど、難しくないと思います。
では、実際に書いたマクロを実行して下さい。プルダウンメニューはできましたか?
もしプルダウンが出きていたら、もう一度マクロを実行してみてください。そうすると、下記のようなエラーが出るはずです。このエラーは、入力規則が既に設定されている場所に、新たに入力規則を設定しよとした為にデータエラーです。
このエラーを回避する為には、下記のようにコードを記述します。
With Cells(行, 列).Validation
.Delete '入力規則の削除
.Add Type:=xlValidateList, Formula1:="メニュー1,メニュー2,メニュー3"
End With
では、先ほど書いたコードを修正して、マクロを実行してみてください。
もうエラーはでなくなったと思います。
動作確認が完了したら、「ThisWorkbook」にもコードを追加して下さい。「ThisWorkbook」にコードを追加していたら、下記のようになっていると思います。
上記のようにマクロを記述しておけば、各モジュールに記載したマクロを一気に実行できるので、この部分は必ずアップデートしておいてください。
また、コメントにモジュール名と、そのモジュールは何を行うマクロなのか、必ず明記してください。このようにコメントを書いておけば、マクロを改修する時に、とても役に立ちます。
動作確認が完了したら、再度ファイル名をカレンダー作成マクロ_0.6.xlsmを保存して下さい。
今回の作業は以上になります。
お疲れさまでした。
この記事が気に入ったらサポートをしてみませんか?