Home » Excel VBA Rangeオブジェクト » 入力規則・Validation » VBAで文字数を制限する入力規則を設定

VBAで文字数を制限する入力規則を設定

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「vba excel2013 rangeの文字数制限」
という検索キーワードでアクセスがありました。

何を探していらしたのか判断に迷う検索キーワードです。

データの入力規則

いくつかの可能性が考えられますが、入力する文字列の長さを制限する入力規則を設定する、Excelマクロを3つご紹介しておきます。

[スポンサードリンク]

3文字以上の入力規則を設定するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブなセルに、3文字以上の入力だけを受け付ける入力規則が設定されます。
Sub 入力規則の設定_3文字以上()
 With ActiveCell.Validation
  .Delete
  .Add _
    Type:=xlValidateTextLength, _
    Operator:=xlGreaterEqual, _
    Formula1:="3"
  .ErrorMessage = "3文字以上入力してください!"
 End With
End Sub

5文字以下の入力規則を設定するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブなセルに、5文字以下の入力だけを受け付ける入力規則が設定されます。
Sub 入力規則の設定_5文字以下()
 With ActiveCell.Validation
  .Delete
  .Add _
    Type:=xlValidateTextLength, _
    Operator:=xlLessEqual, _
    Formula1:="5"
  .ErrorMessage = "入力できる文字数は5文字以下です!"
 End With
End Sub

3文字以上かつ5文字以下の入力規則を設定するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブなセルに、3文字以上かつ5文字以下の入力だけを受け付ける入力規則が設定されます。
Sub 入力規則の設定_3文字以上5文字以下()
 With ActiveCell.Validation
  .Delete
  .Add _
    Type:=xlValidateTextLength, _
    Operator:=xlBetween, _
    Formula1:="3", _
    Formula2:="5"
  .ErrorMessage = "入力できる文字数は3文字以上、5文字以下です!"
 End With
End Sub

Validation.Addメソッドの引数TypeにxlValidateTextLength

上記3つのSubプロシージャを読んでいただくとわかるとおり、
Validationオブジェクトに用意されているAddメソッドの、

Validation.Add

引数Typeに
XlDVType列挙に定義されている定数
xlValidateTextLengthを設定して、

XlDVType. xlValidateTextLength

引数Operatorに
XlFormatConditionOperator列挙に定義されている定数を指定して、

XlFormatConditionOperator列挙

引数Formula1・Formula2に、文字数を指定するということです。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 入力規則・Validation » VBAで文字数を制限する入力規則を設定

「入力規則・Validation」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.