

初心の質問で申し訳ありませんが、困っていますので、回答をよろしくお願いいたします。
テキストボックス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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
ユーザーフォームへのデータ入...
-
テキストボックスを空白にする方法
-
VBAのユーザーフォームで、テキ...
-
【C#】コンボボックスにおけるS...
-
VBA public変数はどのようなこ...
-
VBAでcallで呼び出したsubを終...
-
ClickとChangeイベントの違いは...
-
SavePictureで保存できない
-
ドラゴン曲線を再帰で書く
-
C言語で32Bit*32Bitの演算は出...
-
texで図と表を並べたい
-
他のフォームから別のフォーム...
-
【VB6.0】 あるフォームから他...
-
String型の値にスラッシュをつ...
-
C#のループでtextboxに値を入れ...
-
定数を構造体で・・・
-
Excel VBAでsub,dimは何の略?
-
VB6でForm_Load中にイベントを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
ユーザーフォームへのデータ入...
-
【VB.NET】テキストボックスに...
-
VBAで入力数値について
-
コンボボックスからテキストボ...
-
VBAのユーザーフォームで、テキ...
-
AccessのVBAで「イベ...
-
visual basic初心者です。 visu...
-
ループを使ってテキストボック...
-
Excel ユーザーフォームで計算 ...
-
VBAで選択箇所がある場合の重複...
-
基本的な質問で本当に申し訳あ...
-
時間の計算
-
Vba テキストボックスの文字列...
-
Web Browserで、、、
-
VisualBasic2008でのツールの扱...
-
16進数
-
エクセル VBA タブストップに...
-
VBでテキストボックスの文字を...
おすすめ情報