プロが教えるわが家の防犯対策術!

ExcelVBAでUserformを作成しているのですが、入力順序をタブオーダーではなく、VBAの中で指定したいのです。
 なぜタブオーダーではダメかと言いますと、IF文などの条件分岐で、その都度、入力順序を変化させたいのです。
 
Userform1.TextBox1.TabIndex=0
Userform1.Show

 と書いたら指定できるかなと思ったのですが、うまくいきません。
入力順序を指定するのはTabIndexを使うのではないかと思うのですが、上記ではなぜうまくいかないのでしょうか。
 どのように書けばうまくいくのでしょうか。
 よろしくご指導願います。

 

A 回答 (3件)

takaandhiroさん、こんばんは。



Private Sub TextBox1_Change()
if XX=1 then   
TextBox2.SetFocus
else
TextBox3.SetFocus
end if
End Sub

などのように、SetFocus で入力順序を変更できます。
    • good
    • 0

例えばif文で条件分岐する場合で、TextBox1,TextBox2があった場合


If A=1 then TextBox1.SetFocus
else
TextBox2.SetFocus
End if
と記入でも各項目に移動出来ます。
飲んでますので、間違ってたらゴメンナサイ・・・・・・・・

他にも方法はありますが、自分で色んな本や他の人の書いたコードで勉強して下さい。
身につきますよ。
    • good
    • 0

こんにちは。



こちらはExcel97ですが、TabIndexで指定出来るけど。。。
分岐処理など、もう少しソースを上げてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング