
ExcelVBA ユーザーフォームのテキストボックス(TextBox)は、ユーザーから情報を入力してもらうためのコンポーネントです。 使い方や注意点など、サンプルコードをもとに具体的に解説します。
例えば、名前、数値、日付などを入力するフォームを作成する際に使用します。
2025年の目標は繰り返し作業に悩まされない年にしませんか? Excel VBAを活用した効率化がその第一歩
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事
以下のようなシーンで利用で表示します。
・データ入力フォーム
名前、住所、電話番号などの情報を入力する。
・計算
入力された数値を使って計算する。
・検索機能
入力したキーワードでデータを検索する。
1. Excelの開発タブで、ユーザーフォームを作成する。
2. ツールボックスから「TextBox」をフォームに配置する。
3. 標準モジュールまたはフォームモジュールにコードを記述する。
・データ型の検証
ユーザーが数値や日付を入力する場合は、そのデータ型をチェックするコードを追加する。
・入力の最大文字数
必要に応じて MaxLength プロパティで制限する。
・空白チェック
必須入力のテキストボックスには空白チェックを行う。
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エキスパート」をご確認ください。