エクセルのユーザーフォームにtextboxが2つとCommandButtonが2つ配置しています。
textbox1に入力されるのを10以下に限定するため、それ以上の数字が入力されるとExit時にエラーを表示し、textbox1にフォーカスを戻したいのです。
ですが、以下のようにするとエラー時にはtextbox2も飛ばしてCommandButton1にフォーカスされます。
どのようにするのが正解なのでしょうか。
よろしくお願いします。
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If CInt(TextBox1.Text) > 10 Then
MsgBox ("ダメ")
TextBox1.SetFocus
End If
End Sub
No.1ベストアンサー
- 回答日時:
よーく考えてみて。
TextBox1 にユーザーが何らか入力する。
ユーザーが何らかの操作で TextBox1 から他のコントロールにフォーカスを移動しようとする。
TextBox1 の Exit イベントが駆動する。
TextBox1_Exit イベント プロシージャが実行される。
(Exit イベント プロシージャの中で) TextBox1.SetFocues する。
Exit イベント プロシージャの End Sub を抜ける。
ユーザーが指定した先のコントロールにフォーカスが移る。
ほら、正しい動作でしょ。
フォーカスが抜ける直前に実行されるイベントの中で SetFocus しても、イベントを抜けたら強制的にフォーカスは移動する。
で、Exit イベント プロシージャの引数にある "Cancel" を使って強制的にフォーカスが映るのをキャンセルするわけ。
TextBox1.SetFocus の代わりに Cancel = True としてみ。
ありがとうございました。
cancel=trueってはじめて知りましたけど、応用範囲が広そうですね。exitという動作をcancelするって、素晴らしいです。
助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルVBA テキストボックスへのセットフォーカスについて
Visual Basic(VBA)
-
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
Access2010 SetFocusが当たらない
その他(プログラミング・Web制作)
-
-
4
「Cancel = True」とはどういう意味でし
Word(ワード)
-
5
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
6
ユーザーフォームでTextBox1にカーソルを移動したい
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
どこにもフォーカスを当てたくない
Access(アクセス)
-
9
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
10
フォーム上の現在アクティブなコントロールの取得
Access(アクセス)
-
11
エクセルVBAで Cancel=Trueの使い方
Excel(エクセル)
-
12
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
13
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
14
コマンドボタンのEnterイベント後に、フォーカスを移動したい。
その他(Microsoft Office)
-
15
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
16
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
17
AccessVBA SetFocusとGoToControlが正常に作動しない
Access(アクセス)
-
18
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
19
VBAのTextBoxに半角数字のみ入力したい
Visual Basic(VBA)
-
20
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どこにもフォーカスを当てたくない
-
GridViewでハイライトを使用し...
-
マイクロストリップ線路の高次...
-
VBでタッチパネルを・・・
-
スプレットシートでフォーカス...
-
VBAでのユーザーフォーム上...
-
Suicaでの自販機購入方法を教え...
-
プログラムからTera Termに文字...
-
エクセルVBA テキストボックス...
-
ユーザーフォームのSetFocusが...
-
携帯電話が安いところ。
-
OPPO A54 5Gを使っています。 ...
-
下記の動画のような映像をつく...
-
コマンドボタンのEnterイベント...
-
二台のノートパソコンを繋げて...
-
DateTimePicker のEnable
-
ワックス等の塗料が塗ってない...
-
油性マジックの消し方
-
小学校で遊ぶてんかのルールに...
-
炊飯器のセットの音と出来上が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どこにもフォーカスを当てたくない
-
業務に差し支えのないテンキー...
-
炊飯器のセットの音と出来上が...
-
エクセルVBA テキストボックス...
-
C# ReadOnlyのTextBoxで
-
コマンドボタンのEnterイベント...
-
矢印(左右)キーでイベントを...
-
ユーザーフォームのSetFocusが...
-
他の人には声だして挨拶してる...
-
油性マジックの消し方
-
池袋サンシャイン通りでキャッ...
-
OPPO A54 5Gを使っています。 ...
-
テキストボックス入力後、警告...
-
VBAでのユーザーフォーム上...
-
GridViewでハイライトを使用し...
-
『エッジの効いた○○』の意味。
-
テキストボックスの入力チェッ...
-
酸素ボンベのレギュレーターか...
-
MFCでコンボボックスを選択不可...
-
二台のノートパソコンを繋げて...
おすすめ情報