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で 入力必須項目を安全に確認し、業務エラーを防ぐ仕組み を簡単に作成できます。
