MENU

【保存版】VBAで入力チェックに使える関数まとめ!これだけ覚えればOK

A子さん

「ユーザーがちゃんと入力してるかチェックしたいけど…」
「何を使えばいいのか、もう頭パンクしそう…!」

先輩

ご安心ください。
VBAには、文字の有無・数値かどうか・桁数などをチェックする便利な関数がたくさん用意されています。
この記事では、それらを一挙に整理します!

結論:この7つを押さえれば、入力チェックはもう怖くない!

目次

Len:文字数をチェックする

If Len(code) <> 4 Then
    MsgBox "コードは4文字で入力してください"
End If
先輩

文字数の条件分岐に最適。桁数チェックもこれでOK。

Trim:前後のスペースを除去する

If Len(Trim(name)) = 0 Then
    MsgBox "名前を入力してください"
End If
先輩

空欄入力・スペースだけの入力も弾けます。

IsNumeric:数値かどうかを判定する

If Not IsNumeric(Cells(1, 1).Value) Then
    MsgBox "数値を入力してください"
End If
先輩

数字が入力されているかどうかの基本チェックに。

InStr:特定の文字が含まれているか調べる

If InStr(email, "@") = 0 Then
    MsgBox "メールアドレスに「@」が含まれていません"
End If
先輩

フォーマット確認(メールやIDなど)に便利。

Replace:不要な文字を除去する

cleaned = Replace(phone, "-", "")
先輩

電話番号や数値の入力補正に活用。「-」や「,」を消せます。

IsDate:日付として正しいか確認する

If Not IsDate(Cells(1, 1).Value) Then
    MsgBox "正しい日付を入力してください"
End If
先輩

「2025/13/32」みたいな不正日付も検出可能。

UCase / LCase:大文字・小文字の統一

If UCase(Cells(1, 1).Value) = "YES" Then
    MsgBox "はいと入力されました"
End If
先輩

大文字・小文字を区別せず比較したいときに便利!

まとめ:用途別おすすめ早見表

チェック内容関数
文字数制限Len
空欄/スペース対策Trim + Len
数字かどうかIsNumeric
特定文字の有無InStr
書式修正(記号除去)Replace
日付チェックIsDate
大文字/小文字統一UCase / LCase
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次