教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】テキストボックスの値を取得や設定する方法①を教えて!

構文

構文は以下の通りです。

テキストボックス名.Value = 値

解説

Valueプロパティは、テキストボックスの現在の値を示します。テキストボックスに入力されたテキストは通常このプロパティに格納されます。このプロパティにアクセスすることで、テキストボックスの値を取得または設定することができます。

使い方

具体的な使い方を紹介します。

1.テキストボックスの初期値を設定する

textbox1.Value = "デフォルトのテキスト"

このようにして、テキストボックスに初期値を設定できます。ユーザーが何も入力しない場合、このデフォルトのテキストが表示されます。

2.ユーザーからテキストを受け取る

ユーザーがテキストボックスにテキストを入力した場合、それをプログラムで取得できます。

user_input = textbox1.Value

こうして、ユーザーが入力したテキストを変数 user_input に格納できます。このテキストを後で使用したり、処理したりすることができます。得または設定できます。

プログラミング例

以下に、プログラミング例を紹介します。

1.テキストボックスの値を取得する

ユーザーフォーム内のテキストボックスに入力されたテキストを取得してメッセージボックスに表示する例です。

Sub GetValueFromTextBox()
    ' ユーザーフォームを表示
    UserForm1.Show
    ' ユーザーフォーム内のテキストボックスの値を取得
    Dim textBoxValue As String
    textBoxValue = UserForm1.TextBox1.Value
    ' メッセージボックスに値を表示
    MsgBox "テキストボックスの値は: " & textBoxValue
End Sub

このコードでは、ユーザーフォームを表示し、そのフォーム内のテキストボックス(TextBox1)のValueプロパティを使用してテキストボックスの値を取得しています。

2.テキストボックスに値を設定する

ボタンがクリックされたときに、ユーザーフォーム内のテキストボックスに値を設定する例です。

Sub SetValueToTextBox()
    ' ユーザーフォームを表示
    UserForm1.Show
    ' テキストボックスに値を設定
    UserForm1.TextBox1.Value = "新しい値"
End Sub

ボタンがクリックされたときに、テキストボックスのValueプロパティを使用して新しい値を設定しています。

3.テキストボックスの値をクリアする

ボタンがクリックされたときに、ユーザーフォーム内のテキストボックスの値をクリアする例です。

Sub ClearTextBoxValue()
    ' ユーザーフォームを表示
    UserForm1.Show
    ' テキストボックスの値をクリア
    UserForm1.TextBox1.Value = ""
End Sub

テキストボックスのValueプロパティに空文字列を設定することで、値をクリアします。

まとめ

テキストボックスの値を取得や設定する方法には、上記で説明したValueプロパティとその他にTextプロパティがあります。Valueプロパティはテキストボックスに入力されたデータ型をそのまま扱い、Textプロパティはテキストとして扱うという違いがあります。データ型の変換や数値としての操作が不要な場合は、Textプロパティを使用すると便利です。一方、データ型にアクセスしたり、数値として計算したりする必要がある場合は、Valueプロパティを使用します。参考までに追記しておきます。