このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「vba 入力規則 無効なデータが入力されたらエラーメッセージを表示する」
という検索キーワードに気づきました。
上図のように、[データの入力規則]ダイアログ-[エラーメッセージ]タブに、[無効なデータが入力されたらエラーメッセージを表示する]チェックボックスがあります。
これに該当するプロパティが何なのかを調べていたのが、検索キーワード
「vba 入力規則 無効なデータが入力されたらエラーメッセージを表示する」
ではないかと推測しています。
Validation.ShowErrorプロパティが無効なデータが入力されたらエラーメッセージを表示するに該当
結論をいうと、ValidationオブジェクトのShowErrorプロパティが、
[データの入力規則]ダイアログ-[エラーメッセージ]タブ-[無効なデータが入力されたらエラーメッセージを表示する]に該当します。
マクロ記録も利用しましょう
結論としては上記のとおりですが、マクロ記録をすればこのプロパティは見つけられます。
例えば、10以上の整数しか入力できないようにする入力規則を設定する操作を、
マクロ記録すると以下のようなコードが作られます。
Sub Macro1()
With Selection.Validation
.Delete
.Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _
Operator:=xlGreaterEqual, Formula1:="10"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
End Sub
これに対し、[無効なデータが入力されたらエラーメッセージを表示する]チェックボックスをOffにしてマクロ記録した場合は、以下のようなコードが作られます。
Sub Macro2()
With Selection.Validation
.Delete
.Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _
Operator:=xlGreaterEqual, Formula1:="10"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = False
End With
End Sub
この2つのSubプロシージャを見比べると、「End With」の直前にある、
.ShowError = 〇〇
という行だけが異なることがわかります。これが
「vba 入力規則 無効なデータが入力されたらエラーメッセージを表示する」
に該当します。
最終更新日時:2019-04-17 09:49
Home » Excel VBA Rangeオブジェクト » 入力規則・Validation » 無効なデータが入力されたらエラーメッセージを表示するValidationオブジェクトのプロパティは?