
ExcelVBA セルやフォームの入力欄が空欄のまま実行されないようにするための処理。入力漏れによるミスを防ぎ、正しくデータ処理を行うために使います。使い方や注意点など、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
目次
Excel VBA 特定の文字を削除する|シーン
以下のシーンで利用します。
1.セルに名前や日付が未入力なのに登録処理を行うと困るとき
2.ユーザーフォームのテキストボックスが空欄のままボタンが押されるのを防ぎたいとき
3.申請書や見積書など、入力必須の項目をチェックしたいとき
Excel VBA セルやフォーム未入力チェック方法|使い方
空欄かどうかを判定する方法
If Trim(セルの値) = "" Then
Trimを使うことで、空白スペースのみの入力も「未入力」として扱えます。
入力があるかを判断したら、メッセージを表示して処理を止めるのが基本です。
Excel VBA セルやフォーム未入力チェック方法|サンプルコード
シートのセルが未入力かチェックする
Option Explicit
Sub CheckInput()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") 'シート名は適宜変更
If Trim(ws.Range("B2").Value) = "" Then
MsgBox "氏名を入力してください。", vbExclamation
Exit Sub
End If
MsgBox "入力OKです!", vbInformation
End Sub
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
・「B2セルに氏名を入力してから実行」するケースです。
・空欄ならエラーメッセージ、入力済なら次に進みます。
ユーザーフォームで未入力チェックする
Option Explicit
Private Sub cmdRegister_Click()
If Trim(Me.txtName.Value) = "" Then
MsgBox "名前を入力してください。", vbExclamation
Me.txtName.SetFocus
Exit Sub
End If
MsgBox "登録しました!", vbInformation
End Sub
・cmdRegisterは登録ボタン
・txtNameは名前入力のテキストボックス
・空欄なら入力を促し、カーソルを戻します。
1. Trimを使う
・空白文字だけの入力も未入力として判定できます
2. .Valueの代わりに .Text は使わない
・.Textは見た目ベースなので、空欄判定で誤作動することがあります
3. SetFocusで入力欄に戻す
・ユーザーにやさしいUIになります
Excel VBA セルやフォーム未入力チェック方法|まとめ
・未入力チェックは「データの正確性」を保つための基本処理
・標準モジュールではシートのセルに対して
・フォームモジュールではユーザーフォームの入力欄に対して使う
・入力欄が複数ある場合も、1つずつ丁寧にチェックしていきましょう
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。