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



ご安心ください。
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 |
コメント