
ユーザーフォームのテキストボックスの設定方法

エクセルの入力作業を効率的に素早く終わらせようと思って、調べていたらたどり着いたVBAのユーザーフォームではありませんか?
そしてこのユーザーフォームを使いこなすことができれば、面倒な入力作業やデータ集計などがあっという間に終わるので、データ入力作業の基本でもあるユーザーフォームのテキストボックスの設定や使い方に慣れておきましょう。
ちなみにユーザーフォームって?何?または、オリジナル入力フォームについては下記をご覧くださいませ、このページはこちらの内容の続きになっています。

VBAのテキストボックス(TextBox)の役割は?
”ユーザーフォームでオリジナル入力画面を作る”でもお話ししましたが、テキストボックスとは文字や数字などを入力する枠(ボックス)の事です。
私自身もデータ入力作業をするのにすごく面倒で手間ばかりだと思ったのがこれです。
- 入力したいエクセルのワークシートを選ぶ
- 入力するセルまでスクロールして移動する
これを何回も繰り返してデータ入力するのですが、最初のうちはデータ量が少ないのでさほど時間がかからないのですが、データが増えると探すのが面倒ってなりますよね。
このような手間を解決するのがユーザーフォームに配置したテキストボックスで、ここに常に入力をして、のちに説明するコマンドボタンを押せば、自動的に入力すべきシートのセルにテキストボックスに入力した文字などが書き込まれる優れものです。

上記画像には文字入力ができるテキストボックスが3つあり、入力した文字をセルに書き写す(転記)事を実行するコマンドボタンがユーザーフォームに配置されています。

テキストボックスには何か実行させる役割があるわけではなく、あくまで文字などを入力する枠の事です。
何をするかは(実行)コマンドボタンが基本的な役割になっています。
それでは、テキストボックスに入力する文字に関して出来る事、やっておくと便利なことをまとめてみましょう。
テキストボックスのコントロールのプロパティ
Visual Basic Editor(VBE)画面の左下に英語で書かれている部分が、テキストボックスの各種設定が可能となるプロパティです。
テキストボックスを使う時は〇印で囲った部分で必ず下記3つの項目をプロパティで設定しています。
- Font
- IME Mode
- Text Align
それぞれ「文字の書式設定」「文字の入力種類」「文字の表示位置(左右)」で、順にご説明します。
この3つはテキストボックスの設定の基本なのでぜひマスターしてください。
Fontは好みの文字書体や大きさ変更で見栄えを良くする
テキストボックスに入力された文字がどのように見えるかを設定するFontで、初期設定(デフォルト)では「MS UI Gothic」(ゴシック体)に設定されています。
お好みの文字に変更するには、テキストボックスのプロパティに「Font」があります。(一番最初の〇印)
このFontの右側にMS UI Gothicとありますので、ここをクリックする右側に…という枠が現れてクリックできるようになります。
クリックすると下記のようなフォント画面が表示されますので、お好みの書体と文字サイズを選ぶことができます。

最後にOKボタンを押せば、テキストボックスに入力される文字書体と大きさが設定されますが、あくまでも、テキストボックスに表示される文字書体と大きさなので、コマンドボタンにセルに転記させるようにしても、ワークシート上の文字書体に反映されるわけではありません。

せっかくのオリジナル入力フォームなので、文字書体や大きさは自分好みにしたいですよね。
IME Modeを設定して変換の手間を減らす
テキストボックスに入力する文字の種類を指定することができる設定で、このIME Mode項目は必ず設定することをおススメします。
理由は簡単で、例えば住所録などでは名前は全角文字・フリガナは全角カタカナ・郵便番号や電話番号は半角英数のように、同じテキストボックスでも入力する内容によって文字は異なります。
テキストボックスにカーソルが移動するたびに、半角英数や全角を切り替えるのは非常に手間になります。
IME Modeを設定しておけば、カーソルが移動すると自動的に入力できる文字が指定されるので、いちいち入力時に切り替える手間が省略でき、作業効率がアップします。
文字の初期設定(デフォルト)では、文字入力種類を指定されていない状態なので、テキストボックスに入力する時に自由に選択できるようになっています。
最初のうちは何もしなくても使う事に対して何も問題は無いのですが、電話番号を入れるのに毎回キーボードの半角/全角ボタン押すの面倒になってきますよ!
テキストボックスのIME Modeの設定方法詳細は下記をご覧ください。

Text Alignは文字の表示位置の設定
Fontと同じく、テキストボックスに入力された文字の枠内での表示位置の設定ができ、初期設定(デフォルト)では「Text Align Left」左寄せに設定されています。
お好みの表示位置に設定するには、テキストボックスのプロパティに「Text Align」があります。(3番目の〇印)
このText Alignの右側に1-fmTextAlignLeftとありますので、ここをクリックする右側に▼という枠が現れてクリックできるようになり、下記3つから選ぶことができるようになります。
- 1-fmTextAlignLeft(左寄せ)
- 2-fmTextAlignCenter(中央寄せ)
- 3-fmTextAlignRight(右寄せ)
いかがでしたか?テキストボックスの設定は難しくないと思います。
ちなみにこれら「IME Mode」「Font」「TextAlign」はテキストボックスの設定だけではなく、ユーザーフォーム・ラベル・コマンドボタンなども同じように設定できるので、ユーザーフォームの基本でもあるので慣れておいた方がいいですよ!

エクセルVBAとかマクロとかプログラミングっていう単語を聞くと難しく感じてしまいますが、エクセル関数と同じく少しずつ、コツコツやれば出来るようになりますよ!安心してね。
ControlSourceで特定のセルとリンクする
すぐには使わないかもしれませんが、テキストボックスの設定で次に使用頻度が高いのが特定のテキストボックスとセルをリンクさせることです。
リンクさせれば入力されている文字とセルの値が、自動的に同じになるので便利ですよ。

ユーザーフォームでオリジナルフォーム作ろう
エクセルの作業時間を短縮して効率よく作業を可能にする「ユーザーフォーム」を使いこなすには、基本を押さえておきましょう。
1日400人ぐらいの方が見ていただいている意外と人気ページなんです。

文字を入力するのに絶対使うTextBox
ユーザーフォームにテキストボックスを使わないで済むのは、確認画面ぐらいかな?
テキストボックスとセルをリンクさせる様々な方法を組み合わせれば、作業時間はあっという間に短縮できます。

文字列だけじゃない!Labelもクリックできるので可能性大
ラベルといえばテキストボックスの説明として文字列で表示させるのが、基本の使い方ですがクリックするとプログラムを実行させることもできるのです。
工夫次第でできることは無限大に広がります。

どんなVBAコードをコマンドボタンに記述しますか?
ボタンをクリックすると記述したプログラムが作動して、繰り返し作業や手間がかかったことが一瞬で完了させることができます。
あんなこともこんなこともできちゃいますよ。


ご覧いただきありがとうございます。
ブログランキングに登録しています。
少しでもお役に立てれば幸いで、参考になったようでしたら応援よろしくお願いします。





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