Excel VBA 逆引き集 | Validate処理

Excel VBA
スポンサーリンク

Validate処理の基本

Excel VBAで「入力値が正しいかチェックしたい」「数値や日付だけ受け付けたい」といった場面では Validate処理(入力検証) が重要です。
初心者向けに、コード例やテンプレートをかみ砕いて説明します。


基本の考え方

  • Validate処理とは?
    ユーザーが入力した値を「正しい形式かどうか」確認する仕組み。
  • よく使うチェック:
    • 空欄チェック
    • 数値チェック (IsNumeric)
    • 日付チェック (IsDate)
    • 範囲チェック(例:1~100の間かどうか)
  • メリット:
    • 入力ミスを防ぐ
    • 不正なデータをシートに書き込まない
    • エラーを事前に回避できる

テンプレ1:空欄チェック

UserFormに TextBox1CommandButton1 を配置。

Private Sub CommandButton1_Click()
    If TextBox1.Value = "" Then
        MsgBox "値を入力してください"
    Else
        MsgBox "入力された値は " & TextBox1.Value
    End If
End Sub
VB
  • ポイント:
    • 空欄なら警告を出す。
    • 入力があれば処理を続行。

テンプレ2:数値チェック

Private Sub CommandButton1_Click()
    If IsNumeric(TextBox1.Value) Then
        MsgBox "数値が入力されました: " & TextBox1.Value
    Else
        MsgBox "数値を入力してください"
    End If
End Sub
VB
  • ポイント:
    • IsNumeric で数値判定。
    • 数値以外なら警告。

テンプレ3:日付チェック

Private Sub CommandButton1_Click()
    If IsDate(TextBox1.Value) Then
        MsgBox "日付が入力されました: " & CDate(TextBox1.Value)
    Else
        MsgBox "正しい日付を入力してください (例: 2025/12/11)"
    End If
End Sub
VB
  • ポイント:
    • IsDate で日付判定。
    • CDate で文字列を日付型に変換。

テンプレ4:範囲チェック(1~100)

Private Sub CommandButton1_Click()
    Dim num As Double
    If IsNumeric(TextBox1.Value) Then
        num = CDbl(TextBox1.Value)
        If num >= 1 And num <= 100 Then
            MsgBox "入力値は範囲内です: " & num
        Else
            MsgBox "1~100の範囲で入力してください"
        End If
    Else
        MsgBox "数値を入力してください"
    End If
End Sub
VB
  • ポイント:
    • 数値かどうか判定。
    • 範囲外なら警告。

テンプレ5:複数項目をまとめてValidate

UserFormに TextBox1(名前)TextBox2(年齢)CommandButton1 を配置。

Private Sub CommandButton1_Click()
    If TextBox1.Value = "" Then
        MsgBox "名前を入力してください"
        Exit Sub
    End If
    
    If Not IsNumeric(TextBox2.Value) Then
        MsgBox "年齢は数値で入力してください"
        Exit Sub
    End If
    
    MsgBox "入力内容は正しいです! 名前: " & TextBox1.Value & " 年齢: " & TextBox2.Value
End Sub
VB
  • ポイント:
    • 項目ごとにチェック。
    • エラーがあれば処理を中断。

例題で練習

'例1:空欄チェック
' → CommandButton1_Click にコードを記述

'例2:数値チェック
' → CommandButton1_Click にコードを記述

'例3:日付チェック
' → CommandButton1_Click にコードを記述

'例4:範囲チェック
' → CommandButton1_Click にコードを記述

'例5:複数項目をまとめてValidate
' → CommandButton1_Click にコードを記述
VB

初心者向けポイント

  • Validate処理は「入力の見張り役」 → 不正な値を防ぐ。
  • IsNumeric / IsDate を覚える → 数値・日付チェックの基本。
  • Exit Subで処理中断 → エラー時に後続処理を止められる。
  • 複数項目をまとめてチェック → 実務では必須。
  • ユーザーにわかりやすいメッセージを出す → 入力ミスをすぐ修正できる。

👉 この「Validate処理テンプレ」を覚えておけば、Excel VBAで 入力チェックを組み込み、エラーを防ぎ、安心してデータを扱えるフォーム を作れるようになります。

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