EXCEL VBA セルの入力規則を設定する。数字・数値・整数の範囲・次の値の間(Validationオブジェクト)

 

 

EXCEL VBA セルの入力規則を設定する。数字・数値・整数の範囲・次の値の間・条件指定(Validationオブジェクト)

 

 

 ●はじめに

今回説明するのは、セルの入力規則の説明を行います。入力規則の中でも数字に特化した入力規制の登録方法を含めて説明いたします。Validationオブジェクトにつきましては、以前、ドロップダウンリストの説明の時に、触れていいますので、詳細につきましては下記URL(ドロップダウンリスト)を参照し下さい。セルの入力規則を設定する事で、セルに対して一定の範囲や入力条件等を設定することでユーザーが間違えて数値などの入力を防ぐ事ができますので、とても便利だと思います。それでは、サンプルプログラムを交えて順番に説明いたします。

●【EXCEL VBA ドロップダウンリスト・プルダウンリスト・コンボボックスの作成(リスト選択)、下記を参照して下さい】

EXCEL VBA ドロップダウンリスト・プルダウンリスト・コンボボックスの作成(リスト選択)

 

●【Validation オブジェクト (Excel)、下記を参照して下さい】(Microsoft社 様)】
https://docs.microsoft.com/ja-jp/office/vba/api/excel.validation

 

 

 ●書式の説明

● Validation.Addメソッド を利用するには、下記の通りに設定を行います。

 

● Rangeオブジェクト.Add(Type,Alertstyle,Operator,Formula1,Formula2)

 

パラメータ(引数)必須・省略可能説明
Type    必  須入力規則の種類を指定します。
Alertstyle省略可能入力規則でのエラースタイルを指定する事が出来ます。
Operator省略可能データ入力規則の演算子を指定します。
Formula1省略可能データ入力規則での条件式の最初の部分を指定します。 値は 255 文字を超える事はできません。
Formula2省略可能引数_Operator_がXlbetweenまたはxlnotbetweenの場合、データ入力規則の2番目の部分を指定します。それ以外の場合、この引数は無視します。

【 Alertstyle 】・・・ 入力規則でのエラースタイルを指定します。

定数内容(説明)メッセージ表示
xlValidAlertStop1中止
xlValidAlertWarning2警告
xlValidAlertInformation3情報

【 Operator 】・・・ 条件式の演算子を指定します。

定数内容(説明)
xlBetween1次の値の間
xlNotBetween2次の値の間以外
xlEqual3次の値と等しい
xlNotEqual4次の値と等しくない
xlGreater5次の値より大きい
xlLess6次の値より小さい
xlGreaterEqual7次の値以上
xlLessEqual8次の値以下

【 Formula1,Formula2 】・・・ 制限を設定する数値を入力します。範囲を設定する場合は、(開始)Formula1 ~ (最後)Formula2
・・・ 範囲を設定しない場合は、以上・以下等の場合は、Formula1のみに設定する。

● Validation.InputTitle・Validation.InputMessage プロパティ
  ・ .InputTitle・・・入力時に表示するタイトルを設定します。
・ .InputMessage・・・入力時に表示するメッセージ内容を設定します。

● Validation.ErrorTitle・Validation.ErrorMessage プロパティ
・ .ErrorTitle・・・入力規則でエラーが発生場合のタイトルを設定します。
・ .ErrorMessage・・・入力規則でエラーが発生した場合に表示するメッセージ内容を設定します。

● Validation.IMEMode プロパティ
・ .IMEMode・・・セル後に日本語入力モードの既定値を設定する事ができます。

【使用例】
●下記のサンプルプログラムは、セルA1~A5に下記の条件にて入力規制を行った場合のサンプルプログラムです。
入力値の種類⇒【整数】・・・xlValidateWholeNumber
・データ範囲⇒【次の値の間】・・・xlBetween
・最小値⇒【0】・・・Formula1・最大値⇒【99】・・・Formula2
・スタイル⇒【情報】・・・xlValidAlertInformation
・入力時タイトル⇒【”タイトル(Title)”】・・・InputTitle 
・入力時メッセージ⇒【”数値を入力してください!(Message)”】・・・InputMessage
・エラータイトル⇒【”入力エラー(Title)”】・・・InputTitle
・エラーメッセージ⇒【”0~99の数値を入力してください。”】・・・ErrorMessage
・日本語入力⇒【半角英数字】・・・ xlIMEModeAlpha

【サンプルプログラム】

 

【注意点】
・入力規則をセルに登録する際は、一度既存の入力規則を削除する必要があります。この処理を行う事でスムーズにて入力規則を設定する事が出来ます。

例)

With Range(“A1:A5”).Validation ‘入力規則のセル位置を指定(A1~A5)します。
.Delete ‘既存の入力規則を削除します。
  ’入力規則の設定
End With

 

 

 

EXCEL VBA セルの入力規則を設定する。入力する数値の範囲を指定します。数字の範囲・複数サンプル例(Validationオブジェクト)

 

 

 ●プログラム説明 (サンプル①) 次の値の間  xlBetween

下記のサンプルプログラムは、セルの入力規則を設定する方法を説明いたします。今回のサンプルプログラムでは、数値に限定して8パターンの設定方法を説明いたします。

 

 

 

 

 

下記のサンプルプログラムでは、【次の値の間】を数値で指定するパターンのプログラムです。
【設定】
:Operator  xlBetween
:Formula1      -100
:Formula2       100
【説明】セル(B5~B10)に【-100】~【100】の間の数値が入力されるように入力規則を設定します。

 

 

 ●プログラム説明 (サンプル②) 次の値の間以外 xlNotBetween

 

 

 

 

 

下記のサンプルプログラムでは、【次の値の間以外】を数値で指定するパターンのプログラムです。
【設定】
:Operator  xlNotBetween
:Formula1       50
:Formula2       60
【説明】セル(B5~B10)に【50】~【60】の間以外の数値が入力されるように入力規則を設定します。

 

 

 ●プログラム説明 (サンプル③) 次の値と等しい xlEqual

下記のサンプルプログラムでは、【次の値と等しい】を数値で指定するパターンのプログラムです。
【設定】
:Operator  xlEqual
:Formula1       50
【説明】セル(B5~B10)に【50】と等しい数値が入力されるように入力規則を設定します。

 

 

 

 ●プログラム説明 (サンプル④) 次の値と等しくない xlNotEqual

下記のサンプルプログラムでは、【次の値と等しくない】を数値で指定するパターンのプログラムです。
【設定】
:Operator  xlNotEqual
:Formula1       60
【説明】セル(B5~B10)に【60】と等しくない数値が入力されるように入力規則を設定します。

 

 

 

 ●プログラム説明 (サンプル⑤) 次の値より大きい xlEqual

下記のサンプルプログラムでは、【次の値より大きい】を数値で指定するパターンのプログラムです。
【設定】
:Operator  xlGreater
:Formula1       70
【説明】セル(B5~B10)に【70】より大きい数値が入力されるように入力規則を設定

 

 

 

 ●プログラム説明 (サンプル⑥) 次の値より小さい xlLess

下記のサンプルプログラムでは、【次の値より小さい】を数値で指定するパターンのプログラムです。
【設定】
:Operator  xlLess
:Formula1       30
【説明】セル(B5~B10)に【30】より小さい数値が入力されるように入力規則を設定

 

 

 

 ●プログラム説明 (サンプル⑦) 次の値以上 xlGreaterEqual

下記のサンプルプログラムでは、【次の値以上】を数値で指定するパターンのプログラムです。
【設定】
:Operator  xlGreaterEqual
:Formula1       50
【説明】セル(B5~B10)に【50】以上の数値が入力されるように入力規則を設定

 

 

 

 ●プログラム説明 (サンプル⑧) 次の値以下 xlLessEqual

下記のサンプルプログラムでは、【次の値以下】を数値で指定するパターンのプログラムです。
【設定】
:Operator  xlLessEqual
:Formula1       40
【説明】セル(B5~B10)に【40】以上の数値が入力されるように入力規則を設定

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。