Excel VBA セルやフォームで未入力のまま実行されないようにする処理

 

ExcelVBA セルやフォームの入力欄が空欄のまま実行されないようにするための処理。入力漏れによるミスを防ぎ、正しくデータ処理を行うために使います。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る

 

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

「いまは、きちんと勉強しなくてもなんとかなる」は今だけ?
そのままいけば、AIの進歩で1年後には時代遅れの人になっているかも。

👉 詳細はこちら

・「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つずつ丁寧にチェックしていきましょう

 

VBAマクロが書けるベースを作りたい方は、VBAエキスパート資格取得を挑戦してみてください。

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

下記から無料問題集ができます。

 

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。