

初心の質問で申し訳ありませんが、困っていますので、回答をよろしくお願いいたします。
テキストボックス1、2、3をユーザーフォームに配置しています。
テキストボックスはすべてTabStopをTrueにし、TabIndexは順に1、2、3としています。
テキストボックス1にデータを入力後、もしテキストボックス2にデータが入っていれば、テキストボックス3をアクティブにしたいのですが、どうすれば良いのでしょうか?
Private Sub テキストボックス1_AfterUpdate()
If テキストボックス2.Value <> "" Then
テキストボックス3.SetFocus
End If
End Sub
としても、テキストボックス2のTabIndexが2なのでテキストボックス2がアクティブになってしまいます。
どうか、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
以下の方法では、如何ですか。
Private Sub テキストボックス1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then 'ENTER
If テキストボックス2.Value <> "" Then
テキストボックス5.SetFocus
End If
End If
End Sub
回答有難うございます。
このコードで動きました。本当に助かりました。有難うございました。
今、作っているプログラムに暗雲が漂っていましたが、目から鱗が落ちたかのように、完成のめどがつきました。10日間、いろいろなサイトで調べましたが、見付からず、どうしようかと思っていました。
又、何か解らないことがあれば、質問させていただきますので、
その時は、どうかよろしくお願いいたします。
No.3
- 回答日時:
私がやると
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
If TextBox2.Text <> "" Then
UserForm1.TextBox3.SetFocus
Else
UserForm1.TextBox2.SetFocus
End If
End If
End Sub
でうまく行くようですが。
No.1
- 回答日時:
Private Sub テキストボックス1_AfterUpdate()
If isnull(テキストボックス2.Value) Then テキストボックス3.SetFocus
End Sub
これではだめですか?
この回答への補足
早速の返信、誠に有難うございます
誠に申し訳ないのですが、私が質問をあまりにも簡潔にしすぎて、上記の私の書いた式でも実際に動かしてみると、きちんと動いてしまいました。
本当に申し訳ありません。
実際はテキストボックスが5つあります。
後は上記質問と同じ内容なのですが、テキストボックス2~4までは、値が入っていて、テキストボックス1にデータを入力後、テキストボックス2にデータが入っていれば、テキストボックス5をアクティブにする方法を教えていただきたいのです。
Private Sub テキストボックス1_AfterUpdate()
If テキストボックス2.Value <> "" Then
テキストボックス5.SetFocus
End If
End Sub
実際に動かしてみると、テキストボックス5をアクティブにしたいのですが、テキストボックス3がアクティブになってしまいます。
agnostia先生のコードではテキストボックス2がアクティブになりました。
どうか、よろしくお願いいたします。
追記 本日これより夜勤に入ります。返信は明朝以降になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームで銀行に対応した支店コードの入力ができません Sheet1のA列に銀行名、B列に銀行 5 2022/07/28 17:50
- その他(Microsoft Office) エクセルのマクロを教えてください。 1 2023/01/27 09:05
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) ExcelVBAでユーザーフォームでテキストボックスなどからセルに連続して入力するコーディングの際の 2 2022/06/29 22:51
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
formからホームページ内のtextb...
-
エクセル VBA タブストップに...
-
エクセルVBAでテキストボッ...
-
vb2010
-
momo'sさんのサンプル
-
Web Browserで、、、
-
AccessのVBAで「イベ...
-
VBAで選択箇所がある場合の重複...
-
テキストボックス内に記入され...
-
アクセスできない保護レベルエ...
-
VBAのユーザーフォームで、テキ...
-
VBのプログラム
-
エクセルVBAについて質問です。
-
RadioButtonについて
-
ファイルパスの変換方法
-
Callで呼び出したプロシージャ...
-
VB6の変数宣言について
-
ストリーミング映像の初期ミュート
-
excellvbaで
-
[Excel2000]auto_closeを止めさ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスできない保護レベルエ...
-
エクセルVBAでテキストボッ...
-
【VB.NET】テキストボックスに...
-
visual basic初心者です。 visu...
-
VBAで入力数値について
-
ユーザーフォームへのデータ入...
-
VBAのユーザーフォームで、テキ...
-
コンボボックスからテキストボ...
-
VBでの入力値制限について
-
テキストボックスに大文字を
-
テキストボックスにカーソルを...
-
VBでローマ字入力とかな入力を...
-
年齢の計算について
-
ACCESS 除算での小数点切上げ方法
-
Excel ユーザーフォームで計算 ...
-
【C#】コンボボックスにおけるS...
-
VB2010 TextBoxの数字の表示...
-
VBAのフォーム カーソル移動
-
TextBoxの内容を右寄せ
-
VB2005テキストボックスへのコ...
おすすめ情報