ユーザーフォームのテキストボックスの入力順序を指定する

ユーザーフォーム

スポンサーリンク


オリジナルの入力画面が作ることができるユーザーフォームでこんな経験ありませんか?

波乗りアヒル
波乗りアヒル

ENTERキー押すと入力したい順番にカーソルが動かない!

入力したい順番にカーソルを動かしたいって思いませんか?
スポンサーリンク


スポンサーリンク

タブオーダーを設定する

エクセル住所録入力フォーム

ユーザーフォームを作成してオリジナルの住所録入力フォームを作り名前などの各項目を入力する時に、名前➡フリガナ➡郵便番号・・・と順番に入力しますよね。

ところが、名前入力後【Enter】キーを押して次にフリガナを入力しようとしたら、なぜか郵便番号に飛んでしまい順番に入力できないことあります。

どうやら、ユーザーフォームでは初期設定としてコントロールを配置した順番に【Enter】キーを押すと移動するようになっているようで、初期設定のままでは使い勝手が悪いので入力する順番に修正する必要があります

波乗りアヒル
波乗りアヒル

この入力ができる順番のことを「タブオーダー」と言うそうです。

このタブオーダーの順番を修正して使い勝手の良い入力フォームにしましょう。

タブオーダーの変更の方法は下記の通りです。

1、タブオーダーを表示する

タブオーダー

  1. VBAの画面で【表示(V)】をクリック
  2. 【タブオーダー】をクリック

2、タブオーダーを設定する

タブオーダー2
表示されたタブオーダーは上から順番に移動するようになっています。(初期設定)

移動したいコントロールをクリックして【上に移動】または【下に移動】で押した回数分移動します。

順番を変更したい全てのコントロールの移動が終わったら、【OK】ボタンを押せば順番変更が終了します。

VBAコードを記述すれば、当然設定できますが毎回変更が無ければあらかじめプロパティを設定するだけで複雑なコードを書かなくて済むのでとっても便利ですよ!

ユーザーフォームに配置されたテキストボックスなどの数が少なければ気にならないことでも、数が増えると気になりますので、タブオーダーを知ってからいつも設定するようにしています。

波乗りアヒル
波乗りアヒル

タブオーダーを設定すれば複雑な入力フォームが快適操作になりますので作成例もご覧くださいませ

各コントロールまとめて転記シリーズ

ユーザーフォームを使うと配置したコントロール(テキストボックスやラベルなど)とセルとの間で値のやり取りが多くなります。

よく使うのでまとめてみました。

値の場所転記したい場所説明ページ
セルの値ラベル名VBAコード
セルの値テキストボックスの値VBAコード
セルの値コマンドボタンの表示名VBAコード
セルの値セルの値VBAコード
テキストボックス入力値セルの値VBAコード
波乗りアヒル
波乗りアヒル

成績表作成には知っておきたいExcel-VBAもくじ

ボウリングハンデキャップのつけ方
HDCPの種類はリーグのルールにより複雑に ボウリングの成績表(リーグ戦)で必ず必要になるのが、ハンデキャップ(HDCP)です。 ボウリングご予約の時に一番多く使われているのが、女性にだけハンデキャップをつけてあげることが多いですね。 だいだい何点ぐらいのハンデキャップが多いの?
ボウリングリーグ対戦表の数字を名前に自動変換する方法
リーグ戦の対戦表をエクセルで作る時、数字で表されている番号を名前に自動的に変換できると作業時間が短くなり効率的ですね。たった2つのエクセル関数を使うだけで、簡単にできるんです。今回の回戦数を入力するだけで一発変換完了。もちろんお客様にスケジュール対戦表として渡すことも簡単ですよ。
人数に応じてリーグ対戦表を自動選択する方法
複数の表があり、条件に合った表を選んで、さらにセルの値を選んで数字を名前に自動変換できると、とても便利なエクセルができますよね。ボウリングのリーグ対戦表も人数により表が異なるので、参加人数が決まったら、自動的に表を選んで対戦番号がこれも自動的に参加者名に変換されると便利で作業効率がアップして時間短縮になりますよ。
波乗りアヒル
波乗りアヒル

エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?