セルに一定の値よりも大きい(小さい)値を入力させる入力規則を設定したい-Excel VBA Tips

Excel VBA Tips集-4

セルに任意の値よりも大きい(or小さい)値の入力を強制するには(入力規則)

Excel VBAにおいて、セルに入力規則を設定するには、
Rangeオブジェクト.Validation.Addメソッドを使います。

[スポンサードリンク]

100より大きい整数を入力させる「入力規則」のサンプルプログラム

このサンプルプログラムは100より大きい整数(101以上)の入力を強制するマクロです。

入力規則として、①整数であること、②101以上の値であること、の2つを設定しています。

入力する値の種類(整数、少数、日付など)は、AddメソッドType引数(必須)に指定します。

整数の入力を強制するには、Type:=xlValidateWholeNumberとします。

また、値の大小(100以上、2016/12/31以降など)を設定するには、AddメソッドOperator引数(省略可能)を使います。

100より大きい整数(100は含まない)を設定するには、Operator:=xlGreaterと書きます。

具体的な値の指定は、AddメソッドFormula1引数(省略可能)、Formula2引数(省略可能)を用います。

A1セルに100以下の整数を入力するとエラーとなり、下記のような警告ダイアログが表示されます。

セルの入力規則に違反した場合の警告ダイアログ

 

下記にValidation.Addメソッド引数と、引数に設定できる定数の一覧表を示します。

また理解を助けるために3つのサンプルプログラムを掲載します。

[スポンサードリンク]

Validation.Addメソッドの引数と設定値一覧

引数名 必須か否か 設定できる定数
Type  必須
  • xlValidateInputOnly(全ての値)
  • xlValidateWholeNumber(整数
  • xlValidateDecimal(少数
  • xlValidateDate(日付
  • xlValidateTime(時刻
  • xlValidateTextLength(文字列の長さ
  • xlValidateCustom(ユーザー設定
  • xlValidateList(リスト

【参考】セルに入力規則のリストを設定したい

AlertStyle 省略可能
  • xlValidAlertInformation
  • xlValidAlertStop
  • xlValidAlertWarning
Operator  省略可能
  • xlBetween(値A~値Bの
  • xlEqual(値Aと等しい
  • xlGreater(値Aより大きい
  • xlGreaterEqual(値A以上
  • xlLess(値A未満
  • xlLessEqual(値A以下
  • xlNotBetween(値A~値Bの間以外
  • xlNotEqual(値A以外
Formula1  省略可能
  • (例1)100
  • (例2)”VBA”
  • (例3)”2016/1/1″
Formula2  省略可能  –

1以上10未満の整数を入力規則に設定するサンプルプログラム

OperatorxlBetweenxlNotBetweenを設定する場合は、値の範囲を、
Formula1:=値AからFormula2:=値Bの間という形式で設定します。

このサンプルプログラムの場合、1以上10以下に値の範囲を設定しています。
例えば、「0」、「11」、「猫」等を入力するとエラーになります。

任意の日付以降の日付の入力を強制するサンプルプログラム

セルに入力できる文字数を10文字以下にするサンプルプログラム

文字数のカウントは半角/全角を区別しません。例えば初心者のためのVBA(10文字)なら入力できます。しかし、”abcdefghijklmn“(14文字)は入力できません。

の行で文字数を指定しています。

関連項目

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA