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

など、細かいプロパティについてあまり気にしたことがなかったので、
今回は良い勉強になった。

※冒頭リンク先の解答例および解説も、ぜひご一読ください。

参考まで。