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

userform テキストボックス
スポンサーリンク

Enterキーを押して入力したい順番にカーソルが動かなくてイラついたことありませんか

オリジナルの入力画面を作った時に、テキストボックスに順番にデータ入力を行いたいのに、それなのにバラバラに移動してしまい、スムーズに入力ができなくて困りますよね。

ユーザーフォームでは、入力順序を決めることができる「タブオーダー」と「アクセスキー機能」を使ってスムーズな入力順にしましょう。

スポンサーリンク

Enterキーで順番に移動させる

ユーザーフォームでオリジナルの住所録入力フォームを作ったら、名前などの各項目を入力する時には「名前」➡「フリガナ」➡「郵便番号」・・・と入力したらEnterキーで次に進み順番に入力できるとスムーズですよね。

エクセル住所録入力フォーム
上から順番に入力できると便利でスムーズ

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

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

<span class="fz-12px">とりっぷぼうる</span>
とりっぷぼうる

この入力する順番のことを「タブオーダー」と言います。

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

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

タブオーダーで順番設定

タブオーダーの設定方法は、VBA画面でEnterキーで順番を指定したいユーザーフォームを表示した状態にします。

1、表示(V)を押してタブオーダー(A)を選択します

タブオーダー
タブオーダーを表示します

2、タブオーダーをクリックすると画面が表示されます。

タブオーダー2
上から順にEnterキーで移動させる順に並べ替えます

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

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

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

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

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

<span class="fz-12px">とりっぷぼうる</span>
とりっぷぼうる

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

アクセスキー機能で瞬間移動

Altキーを押しながら特定のキー操作でユーザーフォームに配置した任意のテキストボックスやコマンドボタンにジャンプしてくれる便利な機能で、ショートカットなんて言う事もありますね。

ところが・・・!!

ジャンプしてほしいテキストボックスとコマンドボタン自体には、アクセスキーそのものを設定できないのです。

そこで、一般的にテキストボックスにラベルでタイトルを添えておくことが多いので、このラベルにショートカットキーを設定しましょう。

タブオーダーの説明の図のように、ラベルで【名前】を入力するテキストボックスというようにセットで使うことが多いのでこの技が使えるという事です。

1、アクセスキーを設定したいラベルをクリック

ラベルfont変更1
ラベル

2、プロパティウィンドウが左下に表示されます

ラベルプロパティ
ラベルのプロパティ

3、アクセスキー設定はAcceleratorの右の空欄にキーを入力

アクセスキー設定
Aと入力

ここではアクセスキーを「A」と仮にします。

4、ラベルの表示をCaptionで変更

アクセスキー設定キャプション
Label1を住所(A)に変更

5、タブオーダー設定

タブオーダーでLabel1を住所を入力するテキストボックスの直前に設定することによって、瞬間移動ができるようになります。

アクセスキー設定
住所にアクセスキー設定(A)しました

タブオーダーの設定が完了すれば、Altキーを押しながらAキーを押すと瞬間移動しますよ。

<span class="fz-12px">とりっぷぼうる</span>
とりっぷぼうる

アクセスキーは半角アルファベットを半角の()で囲むだけで。全角英数は使えません。

スポンサーリンク

ユーザーフォームでオリジナルフォーム作ろう

エクセルの作業時間を短縮して効率よく作業を可能にする「ユーザーフォーム」を使いこなすには、基本を押さえておきましょう。

1日400人ぐらいの方が見ていただいている意外と人気ページなんです。

文字を入力するのに絶対使うTextBox

ユーザーフォームにテキストボックスを使わないで済むのは、確認画面ぐらいかな?

テキストボックスとセルをリンクさせる様々な方法を組み合わせれば、作業時間はあっという間に短縮できます。

文字列だけじゃない!Labelもクリックできるので可能性大

ラベルといえばテキストボックスの説明として文字列で表示させるのが、基本の使い方ですがクリックするとプログラムを実行させることもできるのです。

工夫次第でできることは無限大に広がります。

どんなVBAコードをコマンドボタンに記述しますか?

ボタンをクリックすると記述したプログラムが作動して、繰り返し作業や手間がかかったことが一瞬で完了させることができます。

あんなこともこんなこともできちゃいますよ。

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

ご覧いただきありがとうございます。

ブログランキングに登録しています。

少しでもお役に立てれば幸いで、参考になったようでしたら応援よろしくお願いします。


Microsoft Officeランキング

ユーザーフォームを使えばこんなに便利に早く作業が終わりますよ
波乗りアヒル
波乗りアヒル

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