- ベストアンサー
Userformの入力順序をタブオーダーでなく、VBAで指定したい。
ExcelVBAでUserformを作成しているのですが、入力順序をタブオーダーではなく、VBAの中で指定したいのです。 なぜタブオーダーではダメかと言いますと、IF文などの条件分岐で、その都度、入力順序を変化させたいのです。 Userform1.TextBox1.TabIndex=0 Userform1.Show と書いたら指定できるかなと思ったのですが、うまくいきません。 入力順序を指定するのはTabIndexを使うのではないかと思うのですが、上記ではなぜうまくいかないのでしょうか。 どのように書けばうまくいくのでしょうか。 よろしくご指導願います。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
takaandhiroさん、こんばんは。 Private Sub TextBox1_Change() if XX=1 then TextBox2.SetFocus else TextBox3.SetFocus end if End Sub などのように、SetFocus で入力順序を変更できます。
その他の回答 (2)
- postpapa
- ベストアンサー率41% (27/65)
例えばif文で条件分岐する場合で、TextBox1,TextBox2があった場合 If A=1 then TextBox1.SetFocus else TextBox2.SetFocus End if と記入でも各項目に移動出来ます。 飲んでますので、間違ってたらゴメンナサイ・・・・・・・・ 他にも方法はありますが、自分で色んな本や他の人の書いたコードで勉強して下さい。 身につきますよ。
- papayuka
- ベストアンサー率45% (1388/3066)
こんにちは。 こちらはExcel97ですが、TabIndexで指定出来るけど。。。 分岐処理など、もう少しソースを上げてください。