ExcelのVbaでUserForm上に英単語のタイピング練習のソフトを作ろうとしていますが、うまくいきません。コントロールのイベントについての理解が不足しているのが分かりました。
ユーザフォーム上の複数のテキストボックス間のフォーカスの移動について教えて下さい。
UserForm1にテキストボックスを3つ、コマンドボタンを1つ配置しました。それぞれTextBox1、TextBox2、TextBox3、CommandButton1とします。
Private Sub CommandButton1_Click()
TextBox3.SetFocus ・・・(1)
End Sub
Private Sub TextBox3_Enter()
MsgBox "In TextBox3"
TextBox2.SetFocus ・・・(2)
End Sub
各TextBoxのTabStopプロパティは「True」、「TabIndex」は番号順になっています。
コマンドボタンのTabStopプロパティは「False」にしています。
フォームを表示し、コマンドボタンをクリックするとエラーが発生します。
(2)の実行の後(?)、(1)がエラー表示されます。
各イベントの発生のタイミング、連鎖、終了等の理解が不足していて、その理由がよく分かりません。どなたか教えていただけないでしょうか。よろしくお願いします。
お礼
realbeatinさん、再度のご回答ありがとうございます。 No.1の説明を読まずに、お礼を書かせていただきます。 >>フォーカスを取得する(移動する)タイミングや >>その他のイベントについて説明します。 >>TextBox1の編集が済んで、TabIndexに従って、 ・・・ >> _Enter イベント に繋がります。 >>概ねこんな感じの流れ(順番)でイベントは発生しますので、 詳しい説明ありがとうございます。 アドバイスを参考に、うまくいかなかった点を整理できましたので、 あらためて、OKWAVEに質問を上げたいと思っています。 重ね重ねのアドバイス本当にありがとうございます。