テキストボックスをユーザーフォームに設置する

userformtexteyecatch

エクセルVBA ユーザーフォームにテキストボックスを設置する方法を紹介します。
ユーザーサイドからの情報を入手するときに使用する重要なコントロールになります。

こんにちは、じゅんぱ店長(@junpa33)です。

ユーザーフォームにテキストボックスを設置する方法を説明します。

コマンドボタンと同じぐらい使用頻度の高いコントロールになります。

テキストボックスを設置する

userformtextp007

テキストボックスを設置するには、最初にユーザーフォームが表示されていることが必要です。

ユーザーフォームの表示設定が分からない時は、

ユーザーフォームの挿入と表示は簡単 エクセルVBA

で確認しておいてください。

userformsetp002

ツールボックスでテキストボックスを選ぶ

ツールボックスからテキストボックスを選択します。

userformtextp001

カーソルをドラッグしてサイズを決めます。

userformtextp002
矢印下001

テキストボックスが設置されました。

「□マーク」でボタンサイズや設置位置はいつでも変更が可能です。

userformtextp003

テキストボックスのプロパティ

テキストボックスのプロパティについて、主には、次の赤枠を適宜変更することで多くのケースでは対応することが出来ます。

userformtextp004
矢印下001

「Value」プロパティ項目に値を入力すると、初期表示でその値が表示されます。

userformtextp005

IME Modeのプロパティ解説

定数解説
0-fmIMEModeNoControlIME を制御しない (既定値)。
1-fmIMEModeOnIME をオン
2-fmIMEModeOffIME はオフ 英語モード
3-fmIMEModeDisableIME をオフ キーボードで IME をオンにできない
4-fmIMEModeHiragana全角ひらがなモード IME オン
5-fmIMEModeKatakana全角カタカナモード IMEオン
6-fmIMEModeKatakanaHalf半角カタカナモード IMEオン
7-fmIMEModeAlphaFull全角英数字モード IMEオン
8-fmIMEModeAlpha半角英数字モード IMEオン

テキストボックスから値を入手する

テキストボックスに入力された値を利用するには、

「テキストボックスの名前(オブジェクト名)+Value」で引き出すことが出来ます。

テキストボックスをダブルクリックしてユーザーフォームモジュールを表示させます。

VBA
Private Sub 都道府県_Change()

End Sub

(ユーザーフォームモジュールに記述)

VBA
Private Sub 都道府県_Change()
        Worksheets("Sheet1").Cells(1, 1) = 都道府県.Value
End Sub
userformtextp006

このコード記述方法では、テキストボックスに文字入力時にリアルタイムでセルにも文字入力されていきます。

標準モジュールでテキストボックス入力値を扱う

ユーザーフォームのテキストボックス入力値を標準モジュール内のVBAコードで取り扱う方法です。

入力値は、「ユーザーフォーム名+テキストボックスの名前(オブジェクト名)+Value」で取り出すことが出来ます。

(Module1に記述)

「都道府県情報入手」プロシージャーとして記述しています。

VBA
Sub 都道府県情報入手()
        Cells(2, 1) = ユーザーフォーム例.都道府県.Value
End Sub

この方法では、ユーザーフォームのテキストボックスに文字を入力しても、そのままでは、プログラムには反映されません。

「都道府県情報入手」プロシージャーを実行することで初めて、文字データが反映されることになります。

まとめ

userformtextp008

テキストボックスからユーザーサイドの情報を得られるようになったら、ユーザーフォームの利用法が1段ステップアップします。

実際の使用場面では、「入力されるユーザーからの情報」と、「プログラム製作者の取得したい意図した情報」のマッチとミスマッチをチェックする必要があります。

それにはまた別に、情報のマッチングを調べるVBAコードを、多くの場合は設置しておくことが必要になってきます。

簡単には「IME Mode」プロパティで選別できる場合もあります。

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

vbastudyeyecatch2 エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

今回の記事はここまでです。   最後までご覧いただき有難うございました。

エクセルVBA最速理解で必要な知識を集めよう!

エクセルVBA業務ツールで日常の業務改善を行いましょう。

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。