未入力のテキストボックスをチェックする
 サンプルマクロでは、複数のコントロールが配置されているフォームで、
コマンドボタンがクリックされるとその中のテキストボックスに値が入力されて
いるかどうかをチェックしています。

 チェックしたいテキストボックスの名前には、必ず「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

そのほかにも、

        If TypeNamne(myCtl) = "TextBox" Then
        
のように、コントロールの種類を判断して処理を行う方法もあります。


Excel97/2000



戻る


Excel Word Access VBA! モーグ