即効テクニック |
サンプルマクロでは、複数のコントロールが配置されているフォームで、コマンドボタンがクリックされるとその中のテキストボックスに値が入力されているかどうかをチェックしています。 チェックしたいテキストボックスの名前には、必ず「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