入力規則(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 |
実行結果
関連記事
-
-
セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)
セルの値の置換と書式設定 検索条件に一致するセルの書式を設定するには、まず、Ap …
-
-
文字列の縦位置を取得・設定する(VerticalAlignment プロパティ)
VerticalAlignment プロパティ VerticalAlignmen …
-
-
網かけ(パターン)の取得・設定(Pattern プロパティ)
網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …
-
-
対象のセル・セル範囲に数式があるかどうか調べる(HasFormula プロパティ)
HasFormula プロパティ HasFormula プロパティは、対象のセル …
-
-
セル・セル範囲を貼り付ける(Paste メソッド)
Paste メソッド Paste メソッドは、クリップボードの内容を指定したセル …
-
-
グラデーション(Pattern プロパティ・Gradient プロパティ)
セルの背景ににグラデーションを設定する Pattern プロパティを使用するとセ …
-
-
行・列の表示・非表示(Hidden プロパティ)
Hidden プロパティ Hidden プロパティに True を設定することで …
-
-
指定したセルへ移動(Goto メソッド)
指定したセルへ移動 指定したシートの指定したセルへジャンプするには、Goto メ …
-
-
フリガナ(Phonetic プロパティ)
Phonetic プロパティ 文字列(漢字など)をキーボードから入力した時の「読 …
-
-
オートフィルタ(平均より上・平均より下)AutoFilter メソッド
平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …