- 締切済み
EXCEL VBA のテキストボックスで
EXCEL VBAのテキストボックスでボックス内にテキストを入力 しなければカーソルの移動が出来ないようにできますか? 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- KenKen_SP
- ベストアンサー率62% (785/1258)
Cancel = True を使うとか。 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Len(TextBox1.Text) = 0 Then Cancel = True End Sub
- zap35
- ベストアンサー率44% (1383/3079)
#01です もう一つはExitイベントを使用する方法です。テキストボックスに何も入力されていない場合は、強制的にテクストボックスにフォーカスしなおします Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Len(TextBox1.Text) = 0 Then MsgBox "入力必須" TextBox1.SetFocus End If End Sub
お礼
ありがとうございました。 参考になりました。
- zap35
- ベストアンサー率44% (1383/3079)
ユーザーフォーム上のテキストボックスですか? それともシート上のフォームでしょうか? ユーザーフォームと想定して回答します まず、ユーザーフォームをShowする前に、入力させたいテキストボックス以外の全てのコンポーネント(ボタン、リストボックスなど)のプロパティで CommandButton1.TabStop = False のようにタブキーによるフォーカス移動を禁止する方法があります。 (テキストボックスに何らかの値が入力された時点で、プロパティを True に戻します) ただしこの方法ではマウスで他のボタンをクリックすることは禁止できません。マウスでの操作も禁止するなら CommndButton1.Enabled = False で、ボタン自体を効かない状態にしておく必要があります。
お礼
ありがとうございました。 なんとか思っていた通りなりそうです。