EXCEL:VBAによる入力規制
今回はEXCEL:VBAによる入力規制のやり方をご紹介します。
関数
<<<<<
入力規制をする範囲.Validation.Add(Type, AlertStyle, Operator, Formula1, Formula2)
・Type 必ず指定します。入力規則の種類を指定します。
xlValidateInputOnly:すべての値
xlValidateWholeNumber:整数
xlValidateDecimal:小数点
xlValidateTextLength:文字列(長さ指定)
xlValidateList:リスト
xlValidateDate:日付
xlValidateTime:時刻
xlValidateCuestcm:ユーザー設定
・AlertStyle 省略可能です。入力規則でのエラーのスタイルを指定します。
xlValidAlertStop:停止
xlValidAlertWarning: 注意
xlValidAlertInformation:情報
・Operator 省略可能です。入力規則での演算子を指定します。
xlBetween:Formula1とFormula2の間
xlEqual:Formula1と等しい
xlGreater:Formula1より大きい
xlGreaterEqual:Formula1以上
xlLess:Formula1より小さい
xlLessEqual:Formula1以下
xlNotBetween:Formula1とFormula2の間以外
xlNotEqual:Formula1と異なる
・Formula1 省略可能です。データの入力規則での条件式の最初の部分を指定します。
・Formula2 省略可能です。データの入力規則での条件式の 2 番目の部分を指定します。
引数OperatorがxlBetweenまたはxlNotBetweenの場合、この引数は無視されます。
>>>>>
以下が例となります。
Add以外にも色々と入力規制に関する関数があるので少し紹介します。
例)
With Range("B:B").Validation
既存規則削除
.Delete
規制を追加
.Add Type:=xlValidateWholeNumber, _
AlertStyle:=xlValidAlertInformation, _
Formula1:="1", Formula2:="99"
IMEモードの指定も可能
.IMEMode = xlIMEModeAlpha
エラー時のダイアログの設定
.ErrorTitle = "整数のみ入力可"
.ErrorMessage = "入力できるのは、1から 99 までの値です"
End With