対象: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
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
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
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メソッドの、
引数Typeに
XlDVType列挙に定義されている定数xlValidateTextLengthを設定して、
引数Operatorに
XlFormatConditionOperator列挙に定義されている定数を指定して、
引数Formula1・Formula2に、文字数を指定するということです。
[スポンサードリンク]
Home » Excel VBA Rangeオブジェクト » 入力規則・Validation » VBAで文字数を制限する入力規則を設定