入力チェック
業務でよく使うのが「入力チェック」。
ユーザーが入力した値が正しいかどうかを確認し、間違っていたらエラーを防ぐ仕組みです。
初心者向けに、よくあるパターンをテンプレート化して説明します。
基本の考え方
- 入力チェックの目的:
- 不正な値を防ぐ
- エラーを未然に回避する
- ユーザーに分かりやすくメッセージを返す
- よくあるチェック項目:
- 空欄チェック
- 数値チェック
- 範囲チェック
- 日付チェック
- 文字数チェック
テンプレ1:空欄チェック
Sub CheckEmpty()
Dim val As Variant
val = Worksheets("Input").Range("A1").Value
If IsEmpty(val) Or val = "" Then
MsgBox "入力が空です。値を入力してください。"
Else
MsgBox "入力値: " & val
End If
End Sub
VB- ポイント:
IsEmptyまたは=""で空欄判定。- 入力必須項目に使う。
テンプレ2:数値チェック
Sub CheckNumeric()
Dim val As Variant
val = Worksheets("Input").Range("A2").Value
If IsNumeric(val) Then
MsgBox "数値として有効です: " & val
Else
MsgBox "数値を入力してください。"
End If
End Sub
VB- ポイント:
IsNumericで数値判定。- 数値以外ならエラーメッセージ。
テンプレ3:範囲チェック(例:1~100)
Sub CheckRange()
Dim val As Double
val = Worksheets("Input").Range("A3").Value
If IsNumeric(val) Then
If val >= 1 And val <= 100 Then
MsgBox "範囲内です: " & val
Else
MsgBox "1~100の範囲で入力してください。"
End If
Else
MsgBox "数値を入力してください。"
End If
End Sub
VB- ポイント:
- 数値判定+範囲判定を組み合わせる。
テンプレ4:日付チェック
Sub CheckDate()
Dim val As Variant
val = Worksheets("Input").Range("A4").Value
If IsDate(val) Then
MsgBox "日付として有効です: " & val
Else
MsgBox "正しい日付を入力してください。"
End If
End Sub
VB- ポイント:
IsDateで日付判定。- 日付入力欄に使う。
テンプレ5:文字数チェック(例:10文字以内)
Sub CheckLength()
Dim val As String
val = Worksheets("Input").Range("A5").Value
If Len(val) <= 10 Then
MsgBox "文字数OK: " & val
Else
MsgBox "10文字以内で入力してください。"
End If
End Sub
VB- ポイント:
Lenで文字数判定。- 入力制限に便利。
例題で練習
'例1:必須項目が空欄かチェック
'例2:数値入力欄に文字が入っていないかチェック
'例3:1~100の範囲内かチェック
'例4:日付入力欄が正しいかチェック
'例5:文字数制限を超えていないかチェック
VB初心者向けポイント
- 入力チェックは「事前防御」 → エラーを未然に防ぐ
- IsEmpty / IsNumeric / IsDate / Len が基本ツール
- 複数条件を組み合わせると強力
- メッセージを分かりやすくする → ユーザーが修正しやすい
👉 この「入力チェックテンプレ」を覚えておけば、Excel VBAで ユーザー入力を安全に扱い、業務エラーを防ぐ仕組み を簡単に作成できます。
