ExcelVBA ユーザーフォームのテキストボックスで情報を入力する方法

 

ExcelVBA ユーザーフォームのテキストボックス(TextBox)は、ユーザーから情報を入力してもらうためのコンポーネントです。 使い方や注意点など、サンプルコードをもとに具体的に解説します。

例えば、名前、数値、日付などを入力するフォームを作成する際に使用します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA ユーザーフォームのテキストボックス利用シーン

以下のようなシーンで利用で表示します。

・データ入力フォーム
名前、住所、電話番号などの情報を入力する。

・計算
入力された数値を使って計算する。

・検索機能
入力したキーワードでデータを検索する。

 

Excel VBA ユーザーフォームのテキストボックス|使い方とポイント

使い方

1. Excelの開発タブで、ユーザーフォームを作成する。

2. ツールボックスから「TextBox」をフォームに配置する。

3. 標準モジュールまたはフォームモジュールにコードを記述する。

ポイント

・データ型の検証
ユーザーが数値や日付を入力する場合は、そのデータ型をチェックするコードを追加する。

・入力の最大文字数
必要に応じて MaxLength プロパティで制限する。

・空白チェック
必須入力のテキストボックスには空白チェックを行う。

 

Excel VBA  ユーザーフォームテキストボックスのサンプルコード

標準モジュール(フォームの表示を管理するコードを記述します)

Option Explicit

Sub ShowUserForm()
    UserForm1.Show
End Sub

ユーザーフォームにテキストボックスの入力値を取得・操作するコードを記述します。

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

フォームモジュールにユーザー入力値をセルに反映する。

Option Explicit

Private Sub CommandButton1_Click()
    Dim inputText As String
    
    ' テキストボックスの値を取得
    inputText = Me.TextBox1.Value
    
    ' 入力チェック(空白チェック)
    If Trim(inputText) = "" Then
        MsgBox "テキストボックスに値を入力してください。", vbExclamation
        Exit Sub
    End If
    
    ' 値をシートに書き込む
    ThisWorkbook.Sheets("Sheet1").Range("A1").Value = inputText
    
    ' フォームを閉じる
    Unload Me
End Sub

フォームモジュールにユ数値チェックと追加する。

Private Sub CommandButton2_Click()
    Dim inputValue As String
    inputValue = Me.TextBox1.Value
    
    ' 数値チェック
    If Not IsNumeric(inputValue) Then
        MsgBox "数値を入力してください。", vbCritical
        Exit Sub
    End If
    
    ' 数値をセルに書き込む
    ThisWorkbook.Sheets("Sheet1").Range("B1").Value = CDbl(inputValue)
End Sub
モジュールの役割

・標準モジュール: ユーザーフォームを呼び出す。

・フォームモジュール: テキストボックス操作や入力データの処理。

テキストボックスのプロパティ(例: TextBox1.Value )で入力値を操作します。フォームのデザインとコードは分けると管理しやすいです。

 サンプルコードをコピーして実行すれば、初心者でも動作を確認できます。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問