HOME > 即効テクニック > Excel VBA > その他関連のテクニック > 未入力のテキストボックスをチェックする

即効テクニック

その他関連のテクニック

未入力のテキストボックスをチェックする

(Excel 97/2000)
サンプルマクロでは、複数のコントロールが配置されているフォームで、コマンドボタンがクリックされるとその中のテキストボックスに値が入力されているかどうかをチェックしています。
チェックしたいテキストボックスの名前には、必ず「Text」という文字列が付いているものとして、InStr関数を使ってコントロールの名前をチェックして、且つ未入力のものがあった場合にメッセージボックスを表示しています。
フォームにテキストボックス「TextBox1」「TextBox2」と、コマンドボタン「CommandButton1」と適当にコントロールを配置して、コマンドボタンがクリックされた時に発生するイベント「Click」に次のプロシージャを作成してください。
「TextBox1」は「氏名」入力用のテキストボックス、「TextBox2」は「住所」入力用のテキストボックスとします。
Private Sub CommandButton1_Click()
    Dim myCtl As Object
    Dim myMSG As String

    For Each myCtl In Controls

        If InStr(1, myCtl.Name, "Text") <> 0 Then
            If myCtl.Value = "" Then

                Select Case myCtl.Name
                    Case Is = "TextBox1"
                        myMSG = "氏名"
                    Case Is = "TextBox2"
                        myMSG = "住所"
                    Case Else
                        myMSG = myCtl.Name
                End Select

                MsgBox myMSG & "が空白です。"

            End If
        End If

    Next myCtl

End Sub