VBAで
・入力規則を設定して
・指定した文字数のみ入力可
にできます!
入力できる値を制限することで、
誤入力を防止できます!
ここでは例として、
・5文字のみ
・5文字以下のみ
・5文字未満のみ
を入力可にする方法を記載します!
5文字のみ入力可にする
ここでは例として、
・シート「sample」のセルC列「部署名」に対し、
・5文字のみ入力できるように
します。
Option Explicit
Sub sample()
With Worksheets("sample").Range("C3:C5").Validation
'既存の設定をクリア
.Delete
'5文字のみ入力可にする
.Add Type:=xlValidateTextLength, _
Operator:=xlEqual, _
Formula1:="5", _
AlertStyle:=xlValidAlertStop
'エラータイトル
.ErrorTitle = "入力エラー"
'エラーメッセージ
.ErrorMessage = "5文字のみ入力してください。"
End With
End Sub
シート「sample」のセルC列「部署名」に5文字以外の入力を試みると、エラーとなり入力不可であることが確認できます。
5文字以下のみ入力可にする
ここでは例として、
・シート「sample」のセルC列「部署名」に対し、
・5文字以下のみ入力できるように
します。
Option Explicit
Sub sample()
With Worksheets("sample").Range("C3:C5").Validation
'既存の設定をクリア
.Delete
'5文字以下のみ入力可にする
.Add Type:=xlValidateTextLength, _
Operator:=xlLessEqual, _
Formula1:="5", _
AlertStyle:=xlValidAlertStop
'エラータイトル
.ErrorTitle = "入力エラー"
'エラーメッセージ
.ErrorMessage = "5文字以下で入力してください。"
End With
End Sub
シート「sample」のセルC列「部署名」に6文字以上の入力を試みると、エラーとなり入力不可であることが確認できます。
5文字未満のみ入力可にする
ここでは例として、
・シート「sample」のセルC列「部署名」に対し、
・5文字未満のみ入力できるように
します。
Option Explicit
Sub sample()
With Worksheets("sample").Range("C3:C5").Validation
'既存の設定をクリア
.Delete
'5文字未満のみ入力可にする
.Add Type:=xlValidateTextLength, _
Operator:=xlLess, _
Formula1:="5", _
AlertStyle:=xlValidAlertStop
'エラータイトル
.ErrorTitle = "入力エラー"
'エラーメッセージ
.ErrorMessage = "5文字未満で入力してください。"
End With
End Sub
シート「sample」のセルC列「部署名」に5文字以上の入力を試みると、エラーとなり入力不可であることが確認できます。
まとめ
「Operator」に設定する値をまとめます。
まとめ
「Operator」に指定する値により、
・〇文字のみ (xlEqual)
・〇文字以下 (xlLessEqual)
・〇文字未満 (xlLess)
に制限できます。
参考①
指定した間隔の数値のみ入力できるようにもできます。
詳細は以下の記事をご確認ください。
参考②
日付のみ入力できるようにもできます。
詳細は以下の記事をご確認ください。