TabStop TabIndexの指定
TabStopとTabIndexは、ユーザーフォームのコントロールを遷移する順番を指定するものです。
「次にどのコントロールを選択するか」という事ですね。

ユーザーフォームを使ってシートに値を入力していくような場面では、テキストボックスをたくさん並べて最後にコマンドボタンで入力するようなケースがあるでしょう。
そのような時には各コントロールに順番を指定できれば便利です。これを実現できるのがTabStopとTabIndexです。これらは殆どのコントロールに付いています。
TabStopプロパティ
TabStopプロパティは入力の順番の対象にするか否かを設定ます。
値はTrue・Falseで指定します。
尚、ラベルは最初からFalse。テキストボックスやコマンドボタンは最初からTrueとなっています。

TabIndexプロパティ
TabIndexプロパティは入力の順序を数値で設定します。
Index番号は0からスタートします。
各コントロールで重複した値を入力すると、最後に入力した値が優先され他のコントロールのTabIndex値が自動でずれてセットされます。
尚、TabIndexが設定されていてもTabStopがFalseの場合は、そのコントロールには遷移せず次のコントロールに遷移します。

上の例では、Label1のTabStopがFalseに設定され、TabIndexは1となっていますが、このIndex1は飛ばされて次へ遷移します。
プログラムで設定
プログラムで設定したい場合は、以下のようにします。
初期化イベントプロシージャのInitializeなどで記述することになるでしょう。
Private Sub UserForm_Initialize()
Me.CommandButton1.TabStop = True
Me.CommandButton1.TabIndex = 1
End Sub
まとめ
今回は各コントロール全般にあるTabStopとTabIndexについての内容でした。
それほど難しい内容ではなかったと思いますが、コントロール全体に及ぶ内容なので少々毛色が違う内容だったと思います。
さて、ユーザーフォームの解説もよく使うものに関しては一通り解説しました。
以降は、残りのコントロールやその他の内容について触れていきますが、ここまでの内容でも実用に耐えるプログラムングが可能です。
思いついた事を形にして、どんどん作ってみる事が上達の早道だと思いますので、チャレンジしてみてください。
わからない事は、メールにてお問い合わせください。
ユーザーフォームの使い方
・ユーザーフォームのプログラミング(準備編)
・ユーザーフォーム 第1回(起動と終了)
・ユーザーフォーム 第2回(ボタン)
・ユーザーフォーム 第3回(ラベル)
・ユーザーフォーム 第4回(テキストボックス)
・ユーザーフォーム 第5回(モーダル・モードレス)
・ユーザーフォーム 第6回(チェックボックス)
・ユーザーフォーム 第7回(オプションボタン)
・ユーザーフォーム 第8回(コンボボックス)
・ユーザーフォーム 第9回(リストボックス)
・ユーザーフォーム 第10回(リストボックス複数選択)
・ユーザーフォーム 第11回(タブストップ)
・ユーザーフォーム 第12回(スピンボタン)
コメント