入力規則(Validation オブジェクト)
Validation オブジェクト
セル範囲に入力できる値を制限するには 入力規則 を使用します。VBA で、入力規則を設定するには、Validation オブジェクト を取得、設定し、Add メソッド を実行します。
object.Validation
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
Validation オブジェクトのメソッド
Validation.Add メソッド
指定されたセルに 入力規則 を追加します。ただし、そこに、すでに入力規則が設定されている場合は、エラーになります。
object.Add ( type [, alertstyle, operator, formula1, formula2 ] )
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
- type ・・・ 入力規則の種類を表す XlDVType 列挙型 の定数または、その値を指定します。
定数 値 内容 xlValidateInputOnly 0 すべての値 xlValidateWholeNumber 1 整数 xlValidateDecimal 2 小数点数 xlValidateList 3 リスト xlValidateDate 4 日付 xlValidateTime 5 時刻 xlValidateTextLength 6 文字列の長さ xlValidateCustom 7 任意の数式を使用 - alertstyle ・・・ 入力規則でのエラーメッセージのスタイルを表す XlDVAlertStyle 列挙型 の定数または、その値をを指定します。
定数 値 内容 xlValidAlertStop 1 中止 xlValidAlertWarning 2 警告 xlValidAlertInformation 3 情報 - operator ・・・ 条件式の演算子を指定します。XlFormatConditionOperator 列挙型 の定数または、その値を指定します。
定数 値 内容 xlBetween 1 2 つの式の間(式が2つ指定されている場合のみ) xlNotBetween 2 2 つの式の間以外(式が2つ指定されている場合のみ) xlEqual 3 formula1 に等しい xlNotEqual 4 formula1 と等しくない xlGreater 5 formula1 より大きい xlLess 6 formula1 より小さい xlGreaterEqual 7 formula1 以上 xlLessEqual 8 formula1 以下 - formula1 ・・・ 最初の条件式を指定します。
- formula2 ・・・ 2番目の条件式を指定します。ただし、引数 operator が xlBetween または xlNotBetween 以外の場合、この引数は無視されます。
Validation.Delete メソッド
指定されたセル範囲に設定されている 入力規則 をクリアします。
object.Delete
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
Validation.Modify メソッド
指定されたセル範囲の 入力規則 を変更します。
object.Modify ( type [, alertstyle, operator, formula1, formula2 ] )
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
Modify メソッド の引数は、Add メソッド と同じなので、詳細は、Add メソッドを参照してください。
入力規則の設定に関するプロパティ
ここで、設定または取得できるプロパティは、Excelでは、「データの入力規則」ダイアログボックスの「設定」タブで、確認できる内容です。
Validation.InCellDropdown プロパティ
ドロップダウンリストを利用して値を入力するかどうかの設定を行います。True に設定し、エラーメッセージの種類が「中止」の場合、指定したリストからしか値を入力することができなくなります(エラーメッセージの種類が「警告」「情報」の場合は入力可能です)。
リストのデータは、Validation.Add メソッド または、Validation.Modify メソッド の引数 formula1 で、リストデータが入力されているセル範囲を指定できます。または、「formula1 = “AAA,BBB,CCC”」のように、カンマ(,)で区切って直接指定することもできます。
object.InCellDropdown = boolean
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
- boolean ・・・ 入力規則で入力可能な値をドロップダウンリストで表示するかどうかを、ブール型(Boolean)の値で指定します。(※ 値の取得および設定が可能です。)
Validation.IgnoreBlank プロパティ
空白値の入力を許可するかどうかを設定します。
object.IgnoreBlank = boolean
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
- boolean ・・・ 入力規則において特定のセル範囲への空白値の入力を許可するかどうかをブール型(Boolean)の値で指定します。True の場合空白値の入力を許可します。(※ 値の取得および設定が可能です。)
Validation.Type プロパティ
入力規則の種類を表す長整数型(Long)の値(XlDVType 列挙型 の定数を使用)を取得します。
object.Type
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
Validation.Operator プロパティ
入力規則で入力する値を制限するための条件式の演算子を表す長整数型(Long)の値(XlFormatConditionOperator 列挙型 の定数を使用)を取得します。
object.Operator = const
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
Validation.Formula1 プロパティ / Validation.Formula2 プロパティ
入力規則での条件式の内容を取得します。設定は、Validation.Add メソッド で行います。
最初の条件式の内容
object.Formula1
2番目の条件式の内容
object.Formula2
※ いずれも、値の取得のみ可能です。
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
Validation.Value プロパティ
セルのデータが入力規則に合った有効なデータであるかどうかを示すブール型(Boolean)の値を取得します。
object.Value
引数・戻り値
- object ・・・ 対象となる Validation オブジェクトを指定します。
入力規則 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Sub Sample01_Validation() With Range("B2").Validation '入力規則を削除 .Delete '入力規則の設定:文字数制限(5文字以下) .Add Type:=xlValidateTextLength, _ Operator:=xlLessEqual, _ Formula1:=5 '空白値の入力を許可 .IgnoreBlank = True End With End Sub |
実行結果
関連記事
-
テーマカラーで網かけ(パターン)の色の取得・設定(PatternThemeColor プロパティ・PatternTintAndShade プロパティ)
PatternThemeColor プロパティ・PatternTintAndSh …
-
セルの表示形式を設定・取得する(NumberFormat プロパティ)
NumberFormat プロパティ NumberFormat プロパティは、現 …
-
セルの値を置換(Replace メソッド)
Replace メソッド 任意のセル範囲内から特定の値を一括して置換します。Fi …
-
外枠罫線の設定(BorderAround メソッド)
外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …
-
対象のセル・セル範囲に数式があるかどうか調べる(HasFormula プロパティ)
HasFormula プロパティ HasFormula プロパティは、対象のセル …
-
並べ替え(Sort メソッド)
Sort メソッド 任意のセル範囲内で、並べ替えを行います。引数で、並べ替えの条 …
-
指定した条件に一致するセルを取得(SpecialCells メソッド)
SpecialCells メソッド SpecialCells メソッドは、指定し …
-
対象のセルを参照している全てのセルを取得(Dependents プロパティ)
Dependents プロパティ Dependents プロパティは、対象のセル …
-
オートフィルタ(平均より上・平均より下)AutoFilter メソッド
平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …
-
任意の行または列を参照(Rows プロパティ,Columns プロパティ)
Rows プロパティ・Columns プロパティ Rows プロパティは、オブジ …