【ExcelVBA入門】ユーザフォームでテキストボックスを使う方法とは

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、ユーザーフォームでテキストボックスを作ったことがありますか?VBAではユーザーフォームを使ってツールを作ることができるのですが、その中でもテキストボックスはよく使うので覚えておくと便利です。

そこで今回は、

  • テキストボックスとは
  • テキストボックスの使い方
  • 覚えておくと幸せになれるおすすめプロパティ
  • テキストボックスで入力した値をメッセージに表示する方法

といった基礎から応用的な方法まで、徹底的に解説します!

テキストボックスとは

はじめに、テキストボックスの基礎について紹介します。テキストボックスとは、文字または数値を入力するボックスのことです。

画像:テキストボックス

画像の例だと、侍エンジニアと入力しているボックスがテキストボックスですね。Excelでユーザーフォームを使った画面を作る場合はテキストボックスを使うことが多いので、覚えておくのがおすすめです。

ちなみに、ユーザーフォームの基礎については以下記事で詳しく解説していますので、基礎から知りたい方は以下を見てみてくださいね!

【VBA入門】ユーザーフォームの使い方(テキスト表示、カレンダー)
更新日:2023年3月21日

【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

テキストボックスの使い方

次に、具体的なテキストボックスの使い方について説明します。

テキストボックスの配置・設定方法

最初に、テキストボックスの配置・設定方法について説明します。

1. ツールボックスからテキストボックスを選択

画像:ツールボックス

2. ユーザーフォームにドラッグしてサイズを決めて配置

画像:ユーザーフォーム

3. プロパティを変更

画像:プロパティ

※プロパティウィンドウが出ていない場合は、「表示タブ→プロパティウィンドウ」を選択するとでてきます

ただ、ここまでプロパティの設定値が多いと、覚えるのが大変そうですよね。最初からすべて覚える必要は全くないので、最低限覚えて置くと幸せになれるプロパティをご紹介します。

プロパティ1:オブジェクト名

オブジェクト名はテキストボックスの値をVBAで使うときに利用するため、わかりやすい名前に変更しておくのがおすすめです。txtName、txtNo、txtCostのように先頭3文字でテキストボックスがわかるようにしておくと、VBAを書くときに書きやすくなります。

プロパティ2:Font

Fontでは、フォントの見た目を変えることができます。フォントサイズ、フォントタイプ、フォントカラーなどフォントに関しての設定を変えたい場合に便利です。Font項目の右側にある「...」ボタンを押すと、設定画面が出てきます。

プロパティ3:IMEMode

IMEModeでは、入力モードを変更することができます。

  • 初期値:0 – fmIMEModeNoControl
  • 文字列:4 – fmIMEModeHiragana
  • 数値 :8 – fmIMEModeAlpha

上記3つだけでも覚えておくと便利です。

プロパティ4:MaxLength

MaxLengthでは、入力最大文字数を設定することができます。数値などで入力時に桁数指定がある場合は、最大入力文字数を入れておくと便利です。

設定すると、設定した数値以上の桁数が入力できなくなります。なお、今回紹介したプロパティ以外にも詳しく知りたい方は、以下がわかりやすいのでおすすめです。

引用元:https://kosapi.com/post-3524/

テキストボックスの値をVBAで利用する方法

テキストボックスで入力した値をVBAから取得、代入する方法は次の通りです。

取得方法:

オブジェクト名.Value

代入方法:

オブジェクト名.Value = 値

先ほども説明した通りオブジェクト名はプロパティから変更できるため、わかりやすい名前に変更するのがおすすめです。

サンプルコード

最後に、サンプルコードを紹介します。テキストボックスはボタンとセットで使うことが多いため、ボタンクリック時にテキストボックスに入力した値をメッセージに表示するサンプルを用意しました。

画像:ユーザーフォーム

※オブジェクト名がわかるように画像の吹き出しにオブジェクト名を載せています。

VBAコード:

'「btnRegist」クリック後の処理
'
Private Sub btnRegist_Click()
  
  '入力した値をメッセージに表示して確認
  MsgBox "txtNameに入力した値は「" & txtName.Value & "」です"

End Sub

画像:実行結果

【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

まとめ

今回は、テキストボックスの使い方について徹底的に解説しました。ユーザーフォームの中でも、テキストボックスは一番使う頻度が高いです。

  • ユーザーフォームの設置方法
  • 基礎的なプロパティ
  • VBAからテキストボックスの値を操作する方法

さえ覚えておけば簡単に使えるので、ぜひ使ってみてくださいね!

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

Writer

Sanshiro Wakizaka

フリーランス

北海道出身の30歳で、フリーランスエンジニア兼テックライターとして活動中。新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。

Webアプリ、業務アプリ開発において、要件定義 ~ 運用保守まで様々な経験あり。また3歳の娘がいる1児のパパで、日々娘との時間を確保するために仕事を頑張っています!
侍エンジニアでは、【誰でもわかるレベルのわかりやすさ】を意識して、記事を執筆中。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close