Excel VBA 逆引き集 | Null/空白チェック

Excel VBA
スポンサーリンク

Null / 空白チェック

業務でよくある入力チェックのひとつが「Null / 空白チェック」です。
Excel VBAでは「セルが空かどうか」「値が未入力かどうか」を判定することで、エラーを防ぎます。
初心者向けに、よく使うパターンをテンプレート化して説明します。


基本の考え方

  • 空白セルの判定:
    • IsEmpty(セル.Value) → セルが空かどうか
    • セル.Value = "" → 空文字かどうか
  • Nullの判定:
    • VBAでは「Null」は特殊な値。通常のセルではあまり出ませんが、データベースやVariant型で使われることがあります。
    • 判定は IsNull(変数) を使う。

テンプレ1:セルが空かどうかチェック

Sub CheckEmptyCell()
    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 CheckMultipleCells()
    Dim ws As Worksheet: Set ws = Worksheets("Input")
    Dim rng As Range, cell As Range
    
    Set rng = ws.Range("A1:A5")
    
    For Each cell In rng
        If IsEmpty(cell.Value) Or cell.Value = "" Then
            MsgBox "セル " & cell.Address & " が空です。"
        End If
    Next cell
End Sub
VB
  • ポイント:
    • 複数セルをループして空白チェック。
    • 入力必須項目の確認に便利。

テンプレ3:Null判定(Variant型)

Sub CheckNullValue()
    Dim val As Variant
    val = Null
    
    If IsNull(val) Then
        MsgBox "値はNullです。"
    Else
        MsgBox "値はNullではありません。"
    End If
End Sub
VB
  • ポイント:
    • IsNull は「Nullかどうか」を判定。
    • データベース連携などで使う。

テンプレ4:入力チェックを関数化

Function IsBlankOrNull(ByVal val As Variant) As Boolean
    If IsEmpty(val) Or val = "" Or IsNull(val) Then
        IsBlankOrNull = True
    Else
        IsBlankOrNull = False
    End If
End Function

Sub ExampleUse()
    Dim ws As Worksheet: Set ws = Worksheets("Input")
    Dim val As Variant
    
    val = ws.Range("A1").Value
    
    If IsBlankOrNull(val) Then
        MsgBox "A1セルは空またはNullです。"
    Else
        MsgBox "A1セルの値: " & val
    End If
End Sub
VB
  • ポイント:
    • 共通関数にすると再利用できる。
    • IsEmpty / IsNull / ="" をまとめて判定。

例題で練習

'例1:A1セルが空かどうかチェック
'例2:A1~A5セルの空白チェック
'例3:変数がNullかどうか判定
'例4:共通関数で空白/Nullチェックを簡単に呼び出す
VB

初心者向けポイント

  • セルの空白は IsEmpty と “” の両方で判定
  • Nullは特殊な値 → IsNullで判定
  • 複数セルチェックはループで処理
  • 共通関数化すると便利
  • 必須入力項目のチェックに必ず使う

👉 この「Null / 空白チェックテンプレ」を覚えておけば、Excel VBAで 入力必須項目を安全に確認し、業務エラーを防ぐ仕組み を簡単に作成できます。

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