
ExcelのVBAでセルの入力規則を調べる方法と、入力規則が設定されていない場合はリスト入力にする方法の記録です。
下図は、Excel2016です。
< スポンサーリンク >
VBAで入力規則を調べる方法
セルの入力規則がどうなっているか調べるには、「Validation.Type」を使います。
下図は、A1の入力規則は「整数」、A2は「小数点数」、A3は「リスト」、A4は「日付」、A5は「時刻」、A6は「文字列(長さ指定)」、A7は「ユーザー設定」が設定してあります。
「Validation.Type」を使ってB列に入力規則を表示してみます。
VBEに下記のように書きます。
Sub test()
Dim i As Long
With ActiveSheet
For i = 1 To 7
.Cells(i, 2).Value = .Cells(i, 1).Validation.Type
Next i
End With
End Sub
VBAを実行すると「Validation.Type」の結果がB列に返されました。
※「Validation.Type」は入力規則が設定されていない場合は、エラーが返されます。
VBAで入力規則を調べてリスト入力にする方法
エラーを利用して、入力規則が設定されていない場合は、リスト入力になるように設定してみます。
Sub test()
On Error GoTo pulldownni
Dim ValiType
ValiType = ActiveCell.Validation.Type
Exit Sub
‘エラーだったらプルダウンに
pulldownni:
ActiveCell.Validation.Add Type:=xlValidateList, Formula1:=”○,×”
End Sub
こんな記事も書いています