• ベストアンサー

Userformの入力順序をタブオーダーでなく、VBAで指定したい。

ExcelVBAでUserformを作成しているのですが、入力順序をタブオーダーではなく、VBAの中で指定したいのです。  なぜタブオーダーではダメかと言いますと、IF文などの条件分岐で、その都度、入力順序を変化させたいのです。   Userform1.TextBox1.TabIndex=0 Userform1.Show  と書いたら指定できるかなと思ったのですが、うまくいきません。 入力順序を指定するのはTabIndexを使うのではないかと思うのですが、上記ではなぜうまくいかないのでしょうか。  どのように書けばうまくいくのでしょうか。  よろしくご指導願います。  

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

takaandhiroさん、こんばんは。 Private Sub TextBox1_Change() if XX=1 then    TextBox2.SetFocus else TextBox3.SetFocus end if End Sub などのように、SetFocus で入力順序を変更できます。

その他の回答 (2)

  • postpapa
  • ベストアンサー率41% (27/65)
回答No.3

例えばif文で条件分岐する場合で、TextBox1,TextBox2があった場合 If A=1 then TextBox1.SetFocus else TextBox2.SetFocus End if と記入でも各項目に移動出来ます。 飲んでますので、間違ってたらゴメンナサイ・・・・・・・・ 他にも方法はありますが、自分で色んな本や他の人の書いたコードで勉強して下さい。 身につきますよ。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

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

関連するQ&A

専門家に質問してみよう