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

 

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

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

 

2025年の目標は繰り返し作業に悩まされない年にしませんか? Excel VBAを活用した効率化がその第一歩
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

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

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

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

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

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

使い方

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

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

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

ポイント

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

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

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

 

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

Excel VBAで効率化の準備をしてみませんか?2025年をよりスムーズに過ごすための資格
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

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

Option Explicit

Sub ShowUserForm()
    UserForm1.Show
End Sub

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

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

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で自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。