VBA100本ノック 31本目:入力規則
こちらで公開されている、100本ノックに挑戦。
www.excel-ubara.com
素晴らしい教材を公開いただき、ありがとうございます。
上記リンク先から、問題文を転載。
作成したマクロがこちら。
Sub VBA_100Knock_031() ' シート名リスト作成用配列。 Dim SourceList() As Variant ReDim SourceList(1 To Sheets.Count) Dim i As Long For i = 1 To Sheets.Count SourceList(i) = Sheets(i).Name Next With Range("A1").Validation ' 既存の入力規則を削除。 .Delete ' 入力規則追加。 .Add Type:=xlValidateList, _ AlertStyle:=xlValidAlertStop, _ Formula1:=Join(SourceList, ",") ' ドロップダウンで選択。 .InCellDropdown = True ' エラー時のメッセージタイトル。 .ErrorTitle = "入力不可" ' エラー時のメッセージ。 .ErrorMessage = "こちらは選択専用セルです。" ' エラーの表示許可。 .ShowError = True End With End Sub
ドロップダウンを設定したことは、今までに何度かあった。しかし
.InCellDropdown = True
など、細かいプロパティについてあまり気にしたことがなかったので、
今回は良い勉強になった。
※冒頭リンク先の解答例および解説も、ぜひご一読ください。
参考まで。