HOME > 即効テクニック > Excel VBA > ユーザーフォーム関連のテクニック > 未入力のテキストボックスから、カーソルを移動させない

即効テクニック

ユーザーフォーム関連のテクニック

未入力のテキストボックスから、カーソルを移動させない

(Excel 2000/2002/2003)
●概要●
ユーザーフォーム上のテキストボックスにあるフォーカスが他のコントロールに移動するときには、Exitイベントが発生します。このとき、引数CancelにTrueを指定するとイベントをキャンセルし、他のコントロールにフォーカスを移動しないようにすることができます。

 構文 Cancel = ブール値
 設定項目    内容
 ブール値    Trueまたは、Falseを指定

次のサンプルは、テキストボックスのExitイベントで、そのテキストボックスに入力されている値の長さが0の時は未入力と判断し、Exitイベントをキャンセルしています。その結果、このテキストボックスが未入力の場合、カーソルがテキストボックスに内に残り、たのコントロールにフォーカスを移すことができません。

●サンプル●
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Len(TextBox1.Value) = 0 Then
        MsgBox "データを入力してください"
        Cancel = True
    End If
End Sub