No.3ベストアンサー
- 回答日時:
こんばんは、
すでに回答にあるように、通常?、ご質問の場合だとTabIndexであらかじめ設定しておけば良いと思います。
しかし、何だかの事情でTextBoxでEnterキーを押して次の任意オブジェクトにFocusを当てないなら
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.SetFocus
End Sub
Exitイベントに書くのはどうでしょう。
同じコードで設定するにも、やっぱり初めに設定するほうが良いかも
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 3
Me.Controls("TextBox" & i).TabIndex = i
Next
No.5
- 回答日時:
No.1・2です。
投稿後思ったのですが、
Qchan1962さんも書かれている通りだと思います。
ユーザーフォームを立ち上げた時点でTabIndexが「0」のところがSetFocusされます。
(TabIndexが「0」以外の部分を入力可能にしたい場合はもちろんSetFocusは使います)
SetFocusの一般的な使い方としては、ユーザーフォームを閉じずにそのまま続けて次のデータ入力!といった場合にが多いと思います。
コマンドボタン等ですべてのテキストボックス(他のオブジェクトの操作も含む)を
Sheet上に転記 → 各テキストボックスをクリア → テキストボックス1を「SetFocus」
といった感じでしょうか。
※ あくまで当方はそういう使い方をしている!というだけなので
参考程度で・・・m(_ _)m
No.4
- 回答日時:
#3です。
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.SetFocus
は、少し乱暴なので、補足します。
ExitイベントにSetFocusを書くと他のコントロールオブジェクトをクリックで選択しても
TextBox1にフォーカスがある場合TextBox2にファーカスが移動します。
私の認識では、SetFocusの使いどころは、未入力チェックやエラーチェックで入力または選択してほしい
コントロールにフォーカスを移す場合によく使われます。
従って実行コード内では見かけるのですが、単純に次のコントロールへ移動する為に使われる事は少ないと思います。
No.1
- 回答日時:
こんばんは!
直截の回答ではありませんが・・・
各テキストボックスのプロパティの「TabIndex」を確認してみてください。
同じユーザーフォーム内にあれば
0 → 1 → 2 ・・・のように「TabIndex」順に選択されますので、
別にコード云々で操作する必要はないと思います。
※ 他のオブジェクトも一緒で、すべてこの「TabIndex」によって順番は決まります。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) VBA。複数のChangeイベントをまとめる方法 2 2022/03/31 12:03
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WPFでの時刻入力コントロールに...
-
Visual Basic 6.0 コンボボック...
-
Delphiコンボボックスの先頭に...
-
(VBA)チェックボックスのclick...
-
C# WMPメディアの終了検知 その2
-
Delphiでキー入力を投げたい
-
特定のキーを押すまでループさ...
-
【VB】タブ切り替え時のイベント
-
もしかして
-
エクセルで、日付を入力すると...
-
「ご処理進めて頂きますようお...
-
リストボックスの選択解除
-
VBAでループ内で使う変数名を可...
-
ImageMagickでgif画像の一部が...
-
accessで2つ以上のフォームを起...
-
VBAでセルに値が入力されるまで...
-
【Excel】特定の文字を含むセル...
-
自分の不注意で仕事で乗り合い...
-
複数シートのボタンに同一の動...
-
VBA リストボックスをダブルク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VB】タブ切り替え時のイベント
-
Visual Basic 6.0 コンボボック...
-
一定時間操作されないと自動で...
-
特定のキーを押すまでループさ...
-
WPFでの時刻入力コントロールに...
-
キーイベントを擬似的に発生さ...
-
(VBA)チェックボックスのclick...
-
タブキー押下時のイベントをひ...
-
テキストボックスの入力文字を1...
-
VB.NETでフォームがない...
-
エクセルVBAのテキストボック、...
-
コンボボックスにキー入力をさ...
-
KEYPREVIEW=TRUEについて。意味...
-
フォーカスについてお教えください
-
複数のテキストボックスのカン...
-
VB6で電卓を作っているのですが...
-
Excel VBA マクロ実行中のみテンキ...
-
VB.NETのDropDownListをReadOnl...
-
IEで、BackSpaceで「戻る」機能...
-
VC++ で TextBoxから、次...
おすすめ情報