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 |

コメント