マクロで数値入力範囲の入力規則
マクロ講座61回
入力規則を設定 数値の範囲 Excel 2013 マクロ講座 61回
入力規則で数値の範囲を制限する
ドロップダウンリストによる入力規則の次は、数値入力範囲の入力規則です。
マクロで、入力エラーの場合のメッセージも表示するように設定しましょう。
(サンプルファイルは、こちらから マクロ61回サンプルデータ)
入力できる値を制限するValidationオブジェクト
入力規則はValidationオブジェクトで設定します。
サンプルの表の範囲B2:B7に対してValidationオブジェクトのAddメソッドを設定するのですが、ここでは前もって、お約束の
Deleteメソッドで既存の入力規則を削除しておきます。
With ActiveSheet.Range("B2:B7").Validation .Delete
入力規則はAddメソッドで追加しますが、
下図のように、入力規則に対応したTypeを指定し、それに応じた引数を設定します。
引数Typeごとに他の引数が変わってきます。
今回使うxlValidateWholeNumberや、xlValidateDate、xlValidateDecimal、xlValidateTextLength、または xlValidateTimeの時は、
引数 Formula1 と引数 Formula2 のどちらかを指定するか、あるいは両方を指定する必要があります。
整数のタイプを指定するxlValidateWholeNumber
入力規則のTypeに整数を指定したい時は、定数
Add Type:=xlValidateWholeNumberを指定し、
20から100の数値という指定をしたい時は、引数OperatorにxlBetweenを指定します。 Operator:=xlBetween
コードは次のようになります。
Add Type:=xlValidateWholeNumberを指定し、
20から100の数値という指定をしたい時は、引数OperatorにxlBetweenを指定します。 Operator:=xlBetween
コードは次のようになります。
Sub 数値の入力規則() With ActiveSheet.Range("B2:B7").Validation .Delete .Add Type:=xlValidateWholeNumber, _ Operator:=xlBetween, Formula1:="20", Formula2:="100" .ErrorMessage = "20から100の数値を入力してください" End With End Sub
入力規則に数値範囲を設定する場合は、エラーメッセージも表示しましょう。
入力規則の引数Operatorに指定する定数
引数Operatorでは、入力条件を設定します。
数値の範囲指定に30以下の数値を指定するには、引数OperatorにxlLessを設定し、Formula1に30と入力します。
Sub 数値の入力規則2() With ActiveSheet.Range("B2:B7").Validation .Delete .Add Type:=xlValidateWholeNumber, _ Operator:=xlLess, Formula1:="30" .ErrorMessage = "30以下の数値を入力してください" End With End Sub