【VBA】指定した文字数のみ入力できるようにする

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文字以上の入力を試みると、エラーとなり入力不可であることが確認できます。

「Type」に「xlValidateTextLength」を指定することで、文字数の制限を設定することが出来ます。

「Operator」に指定する値により、
 ・〇文字   (xlEqual)
 ・〇文字以上 (xlLessEqual)
 ・〇文字未満 (xlLess)
とすることが出来ます。

タイトルとURLをコピーしました