ユーザーフォーム 第11回 タブストップ

ユーザーフォーム

TabStop TabIndexの指定

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

 ユーザーフォームを使ってシートに値を入力していくような場面では、テキストボックスをたくさん並べて最後にコマンドボタンで入力するようなケースがあるでしょう。
 
 そのような時には各コントロールに順番を指定できれば便利です。これを実現できるのがTabStopTabIndexです。これらは殆どのコントロールに付いています。

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についての内容でした。
 それほど難しい内容ではなかったと思いますが、コントロール全体に及ぶ内容なので少々毛色が違う内容だったと思います。
 
 さて、ユーザーフォームの解説もよく使うものに関しては一通り解説しました。
 以降は、残りのコントロールやその他の内容について触れていきますが、ここまでの内容でも実用に耐えるプログラムングが可能です。
 思いついた事を形にして、どんどん作ってみる事が上達の早道だと思いますので、チャレンジしてみてください。
 
 わからない事は、メールにてお問い合わせください。

コメント

タイトルとURLをコピーしました