2008.09.17

EXCEL:VBAによる入力規制

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

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
jin