• 締切済み

EXCEL VBA のテキストボックスで

EXCEL VBAのテキストボックスでボックス内にテキストを入力 しなければカーソルの移動が出来ないようにできますか? 宜しくお願いします。

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

Cancel = True を使うとか。 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)   If Len(TextBox1.Text) = 0 Then Cancel = True End Sub

hatti001
質問者

お礼

ありがとうございました。 なんとか思っていた通りなりそうです。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です もう一つはExitイベントを使用する方法です。テキストボックスに何も入力されていない場合は、強制的にテクストボックスにフォーカスしなおします Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Len(TextBox1.Text) = 0 Then  MsgBox "入力必須"  TextBox1.SetFocus End If End Sub

hatti001
質問者

お礼

ありがとうございました。 参考になりました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

ユーザーフォーム上のテキストボックスですか? それともシート上のフォームでしょうか? ユーザーフォームと想定して回答します まず、ユーザーフォームをShowする前に、入力させたいテキストボックス以外の全てのコンポーネント(ボタン、リストボックスなど)のプロパティで  CommandButton1.TabStop = False のようにタブキーによるフォーカス移動を禁止する方法があります。 (テキストボックスに何らかの値が入力された時点で、プロパティを True に戻します) ただしこの方法ではマウスで他のボタンをクリックすることは禁止できません。マウスでの操作も禁止するなら  CommndButton1.Enabled = False で、ボタン自体を効かない状態にしておく必要があります。

関連するQ&A

専門家に質問してみよう