テキストボックス内のテキストを取得または設定する(Textプロパティ)

ユーザーフォームに設置したテキストボックスやコンボボックスに入力されたテキストを取得したり、逆にテキストを設定するには Text プロパティを使用します。ここでは Excel のユーザーフォームで Text プロパティを使ってテキストボックス内のテキストを取得または設定する方法について解説します。

(Last modified: )

テキストを取得または設定する

テキストボックスに入力されたテキストを取得したり、逆にテキストボックスにテキストを設定するには Text プロパティを使用します。デフォルトでは Text の値は長さが 0 の文字列 ("") となっています。

テキストを取得または設定する(1)

Text プロパティの値を取得する方法については、このあとの VBA を使ったプログラムの中で試してみます。ここではテキストボックスの初期値として Text プロパティにテキストを設定してみます。

テキストを変更するには Text プロパティの値を直接編集してください。入力したテキストがテキストボックスに初期値として表示されます。

テキストを取得または設定する(2)

ユーザーフォームの実行をクリックしてユーザーフォームを実際に表示すると、テキストボックスに Text プロパティの値が表示されることが確認できます。

テキストを取得または設定する(3)

このように Text プロパティの値を変更することで、テキストボックスなどユーザーにテキストを入力してもらう部分に初期値を設定することができます。

VBAのプログラムの中でTextプロパティを設定する

プロパティウィンドウを使って Text プロパティの値を変更する代わりに、 VBA のコードを記述して Text プロパティの値を変更することもできます。また Text プロパティの値を取得することで、ユーザーが入力したテキストを取得できます。

プログラムの中で Text プロパティを設定する場合は次の書式を使用します。

オブジェクト.Text [= String ]

対象のオブジェクトの Text プロパティに設定するテキストを代入してください。

また Text プロパティの値を取得するには、次のように記述することができます。

Dim str As String
str = オブジェクト.Text
サンプルコード

簡単なサンプルで試してみます。ユーザーフォームが表示される前に発生する Initialize イベントに対するイベントプロシージャを作成し、その中で Text プロパティの値を設定します。ユーザーフォームが表示される前にコントロールのプロパティの設定が行われます。

Initialize イベントに対するイベントプロシージャの使い方については「ユーザーフォームを表示する直前に発生するイベント(Initializeイベント)」を参照されてください。

またコマンドボタンで Click イベントが発生したら、テキストボックスに入力された値を取得してメッセージボックスに表示してみます。

ユーザーフォームのコントロールが何もないところをダブルクリックしてください。

VBAのプログラムの中でTextプロパティを設定する(1)

ユーザーフォームの規定のイベントである Click イベントに対するイベントプロシージャが表示されます。

VBAのプログラムの中でTextプロパティを設定する(2)

今回はユーザーフォームの Initialize イベントに対するイベントプロシージャ、およびコマンドボタンの Click イベントに対するイベントプロシージャを使用するので、コードウィンドウで次のようにイベントプロシージャを追加で記述してください。

Private Sub UserForm_Initialize()
    TextBox1.Text = "住所を入力"
End Sub

Private Sub CommandButton1_Click()
    MsgBox TextBox1.Text
End Sub

VBAのプログラムの中でTextプロパティを設定する(3)

これでコードの記述は完了です。では実際に試してみます。「Sub/ユーザーフォームの実行」をクリックしてください。

VBAのプログラムの中でTextプロパティを設定する(4)

ユーザーフォームが表示されました。テキストボックスにはユーザーフォームの Initialize イベントプロシージャでテキストボックスの Text プロパティに設定した値が表示されています。

VBAのプログラムの中でTextプロパティを設定する(5)

それではテキストボックスに値を入力したあとでコマンドボタンをクリックしてください。

VBAのプログラムの中でTextプロパティを設定する(6)

メッセージボックスが開きます。テキストボックスに入力された値を取得し、メッセージボックスの中で表示しました。

VBAのプログラムの中でTextプロパティを設定する(7)

このように VBA のプログラムの中で Text プロパティの値を変更したり取得することができました。

-- --

Excel のユーザーフォームで Text プロパティを使ってテキストボックス内のテキストを取得または設定する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。