Excel VBA | VBA データ判定関数一覧

Excel VBA VBA
スポンサーリンク

こちらに「データ判定関数(IsNumeric / IsDate / IsEmpty / IsNull / IsError / VarType / TypeName など)」を活用した入力チェック・エラー回避の実務サンプル集をまとめました。
実務でよくある「未入力」「数値誤り」「日付誤り」「エラー値」などを防ぐ仕組みです。


入力チェック・エラー回避サンプル集

1. 未入力チェック(IsEmpty / Trim)

Sub CheckEmpty()
    Dim val As Variant
    val = Range("A2").Value
    
    If IsEmpty(val) Or Trim(CStr(val)) = "" Then
        MsgBox "必須項目が未入力です。"
    Else
        MsgBox "入力あり → " & val
    End If
End Sub
VB

👉 必須入力項目の空欄を検出。スペースのみも未入力扱い。


2. 数値チェック(IsNumeric)

Sub CheckNumeric()
    Dim val As Variant
    val = Range("B2").Value
    
    If IsNumeric(val) Then
        MsgBox "数値として有効 → " & CDbl(val)
    Else
        MsgBox "数値ではありません"
    End If
End Sub
VB

👉 数値以外の入力を防止。売上や数量の入力チェックに利用。


3. 日付チェック(IsDate)

Sub CheckDate()
    Dim val As Variant
    val = Range("C2").Value
    
    If IsDate(val) Then
        MsgBox "日付として有効 → " & CDate(val)
    Else
        MsgBox "日付形式が不正です"
    End If
End Sub
VB

👉 日付形式の誤りを検出。入社日や納期の入力チェックに便利。


4. Null判定(IsNull)

Sub CheckNull()
    Dim val As Variant
    val = Null
    
    If IsNull(val) Then
        MsgBox "値がNullです"
    End If
End Sub
VB

👉 データベース連携時のNull値を検出。処理を分岐させられる。


5. エラー値判定(IsError)

Sub CheckError()
    Dim val As Variant
    val = Application.VLookup("XXX", Range("A1:B10"), 2, False)
    
    If IsError(val) Then
        MsgBox "検索結果がエラーです (#N/A など)"
    Else
        MsgBox "検索成功 → " & val
    End If
End Sub
VB

👉 VLOOKUPや計算式のエラーを事前に検出して処理を止めない。


6. 型判定(VarType / TypeName)

Sub CheckType()
    Dim val As Variant
    val = Range("D2").Value
    
    MsgBox "VarType: " & VarType(val) & vbCrLf & _
           "TypeName: " & TypeName(val)
End Sub
VB

👉 入力値の型を確認。デバッグや汎用処理で役立つ。


✅ まとめ

  • IsEmpty / IsNull → 未入力・Null判定
  • IsNumeric / IsDate → 数値・日付チェック
  • IsError → 計算式や検索結果のエラー回避
  • VarType / TypeName → 型を調べて処理を分岐

💡 これらを組み合わせれば、「入力シート全体を走査してエラー箇所を色付け」「エラー一覧を別シートに出力」といった実務的なチェックツールを構築できます。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました