ユーザーフォーム入門
テキストボックス(TextBox)の追加

Excelマクロのユーザーフォームの基礎、エクセルVBAの入門解説
公開日:2013年5月以前 最終更新日:2023-09-28

第6回.テキストボックス(TextBox)の追加


ユーザーフォーム入門として基礎から解説します。
フュームにユーザーが自由に入力できるテキストボックスを配置します。


テキストボックスの追加

前回は、ラベルだけ追加しました。

VBA マクロ ユーザーフォーム

今回は、ラベルに対応するテキストボックスを追加しましょう。

VBA マクロ ユーザーフォーム

VBA マクロ ユーザーフォーム

オブジェクト名は、プリフィックスにtxtを付けて名前はラベルと合わせます。

txtコード
txt漢字名称
txtカナ名称


このようにします。
これで、プリフィックスを除けば、ラベルと対応するテキストボックスが直ぐに分かるようになります。
ラベルはVBAで操作しないことも多いので、名前を変更しない場合もありますが、
このように対応テキストボックスと名称を一致させておくと、VBAを書くときに大変楽になります。

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

さて、テキストボックスの場合は、さまざまなプロパティを設定しておく必要があります。
プロパティの数も多いので、必要に応じて都度紹介するようにします。

ここでは、初期設定として、以下を設定します。
Height:高さ
Width:幅
MaxLength:入力できる最大文字数を設定、半角全角の区別はありません。
TabIndex:タブ オーダーにおけるオブジェクトの位置を設定
IMEMode:コントロールがフォーカスを取得したときの日本語入力システム (IME) の既定の実行時モードを設定

とりあえず、これくらいを設定しておけば良いでしょう。

Height、Widthについて

Fontにより必要な高さ幅が変わります。
最適な大きさを決めるには、テキストボックスに文字を入れておくと確認しやすくなります。

テキストボックスに値を表示するには、
Textプロパティまたは、Valueプロパティに値を入れます。
テキストボックスでは、TextプロパティValueプロパティは同じものになります。
表示されたテキストボックスを見て、適切な高さ・幅を指定して下さい。

MaxLengthについて

最大文字数ですので、適宜指定して下さい。

AutoTabプロパティを"True"にすることで、
最大文字数に達すると自動で(タブオーダーの)次のコントロールに移動するようにできます。

TabIndexについて

タブキーを押した場合の進む順序です。
0から順次指定していきます。
数値で順番に指定すれば良く、抜け番があっても構いません。

タブ順を指定する専用のダイアログ画面を使うと分かりやすいでしょう。
メニューの「表示」→「タブオーダー」
または、
フォームの何もない部分で右クリックして「タブオーダー」

マクロ VBA サンプル画像

VBA マクロ ユーザーフォーム

VBA マクロ ユーザーフォーム

画面の使い方は見たままですね、選択して上下させて順番を指定してください。

IMEModeについて

全角入力項目なのか、半角固定入力なのかを指定しておくことで、使いやすいフォームになります。

VBA マクロ ユーザーフォーム

コードを、fmIMEModeDisable、全角入力を不可に設定して、
漢字名称を、fmIMEModeHiragana、全角ひらがなモード
カナ名称を、fmIMEModeKatakana、全角カタカナモード

このように設定しておきましょう。

定数 説明
fmIMEModeNoControl IME を制御しません (既定値)。
fmIMEModeOn IME をオンにします。
fmIMEModeOff IME はオフの状態です。英語モード。
fmIMEModeDisable IME をオフにします。ユーザーはキーボードで IME をオンにできません。
fmIMEModeHiragana 全角ひらがなモードで IME をオンにします。
fmIMEModeKatakana 全角カタカナ モードで IME をオンにします。
fmIMEModeKatakanaHalf 半角カタカナ モードで IME をオンにします。
fmIMEModeAlphaFull 全角英数字モードで IME をオンにします。
fmIMEModeAlpha 半角英数字モードで IME をオンにします。
fmIMEModeHangulFull 全角ハングル モードで IME をオンにします。
fmIMEModeHangul 半角ハングル モードで IME をオンにします。

フォームを表示して確認

完成したら、
frmSample.Showを実行して、表示を確認しておきましょう。

VBA マクロ ユーザーフォーム


今回はここまでです。
次回は、このテキストボックスに入力した値をセルに出力します。
ではまた次回お会いしましょう。




同じテーマ「ユーザーフォーム入門」の記事

第3回.コントロールの追加(コマンドボタン)

・ツールボックス ・コマンドボタンを配置 ・プロパティの変更 ・フォームを表示して動作確認
第4回.コントロールの位置・サイズ調整
・OKボタンの追加と移動 ・グリッドに合わせて移動&サイズ調整 ・プロパティで移動&サイズ調整
第5回.ラベルの追加
・ラベルの追加 ・ラベルのプロパティ設定 ・縦書き
第6回.テキストボックス(TextBox)の追加
第7回.テキストボックス(TextBox)の値をセルへ
・前回までに作成したユーザーフォーム ・ワークシートの用意 ・OKボタンクリック時のイベントプロシージャー作成 ・ユーザーフォームのインテリセンス
第8回.セルの値をテキストボックスへ
・Initializeイベントプロシージャーの追加 ・InitializeイベントプロシージャーのVBAコード ・各モジュール間でのデータ受け渡し方法
第9回.標準モジュールとフォーム間のデータ受け渡しⅠ
・前回までに作成したVBA ・フォーム側でアクティブセルの行数を知る方法 ・標準モジュールのグローバル変数を使う ・標準モジュールからフォームのコントロールを操作する
第10回.標準モジュールとフォーム間のデータ受け渡しⅡ
・Subプロシージャーの引数を使う ・Functionプロシージャーの戻り値を使う ・標準モジュールとフォーム間のデータ受け渡しについて
第11回.コンボボックス(ComboBox)の追加
・コンボボックスの追加 ・コンボボックスのプロパティ・メソッド ・コンボボックスで選択した値を取得 ・コンボボックスの指定リストを選択状態にする ・複数列のコンボボックス
第12回.リストボックス(ListBox)の追加
・リストボックスの追加 ・リストボックスのプロパィ ・Listプロパティ ・Columnプロパティ ・RowSourceプロパティ ・選択されたリスト項目の取得 ・リストボックスの複数選択 ・IntegralHeightプロパティ
第13回.チェックボックス(CheckBox)の追加
・チェックボックスの追加 ・チェック状態の設定 ・チェック状態の取得


新着記事NEW ・・・新着記事一覧を見る

エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.ひらがな⇔カタカナの変換|エクセル基本操作
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.RangeとCellsの使い方|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.並べ替え(Sort)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ