ユーザーフォームのラベルに値を挿入するVBAコードをご紹介します。
- ラベルに動的な値を表示したい
- セルの内容をフォームに表示したい
- メッセージや結果を分かりやすく表示したい
このような場合は、VBAでラベルに値を設定することで簡単に実現できます。
ユーザーへの情報表示や案内に非常に便利なテクニックです。
この記事では、ユーザーフォームのラベルに値を挿入する方法を初心者向けに分かりやすく解説します。
この記事でできること
- ラベルに文字を表示できる
- セルの値をラベルに反映できる
- フォーム表示時に自動で設定できる
- 実務で使えるコードが分かる
基本:ラベルに値を設定する方法
まずは一番シンプルなコードです。
Option Explicit
Sub SetLabelValue()
UserForm1.Label1.Caption = "サンプルメッセージ"
UserForm1.Show
End Sub
これでラベルに文字が表示されます。
Captionプロパティとは?
Caption は、ラベルに表示する文字列を設定するプロパティです。
Label1.Caption = "表示したい文字"
テキストボックスのValueとは違い、ラベルはCaptionを使います。
フォーム表示時に自動で値を設定する
フォームを開いたタイミングで表示したい場合はこちらです。
Private Sub UserForm_Initialize()
Me.Label1.Caption = "初期表示メッセージ"
End Sub
この方法が最もよく使われます。
セルの値をラベルに表示する
Excelのセルと連携する場合はこちらです。
Private Sub UserForm_Initialize()
Me.Label1.Caption = Range("A1").Value
End Sub
A1セルの内容がそのまま表示されます。
複数のラベルに値を設定する
複数項目を表示する場合はこちらです。
Private Sub UserForm_Initialize()
Me.Label1.Caption = Range("A1").Value
Me.Label2.Caption = Range("B1").Value
Me.Label3.Caption = Range("C1").Value
End Sub
ボタンを押したときにラベルを更新する
ユーザー操作で内容を変更する例です。
Private Sub CommandButton1_Click()
Me.Label1.Caption = "ボタンが押されました"
End Sub
数値や日付を表示する
数値や日付も表示できます。
Me.Label1.Caption = 100
フォーマットを整える場合はこちらです。
Me.Label1.Caption = Format(Date, "yyyy/mm/dd")
改行して表示する方法
複数行表示したい場合は改行コードを使います。
Me.Label1.Caption = "1行目" & vbCrLf & "2行目"
見やすい表示ができます。
実務での活用例
- 入力内容の確認表示
- 処理結果の表示
- ステータス表示(完了・エラーなど)
- 案内メッセージの表示
ラベルは「表示専用」として非常に重要な役割を持ちます。
よくあるエラーと対処法
① 値が表示されない
Captionを使っているか確認してください。
② フォームが表示されない
UserForm1.Show を実行しているか確認してください。
③ セル参照でエラーになる
シートがアクティブでない場合は、シート名を指定してください。
Worksheets("Sheet1").Range("A1").Value
④ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- ラベルの値は
Captionで設定 - Initializeで初期表示するのが基本
- セルの値や計算結果も表示可能
- ユーザーへの情報表示に最適
ラベルに値を表示できるようになると、ユーザーフォームの完成度が大きく向上します。
入力内容の確認や結果表示など、実務でも非常に重要なテクニックなので、ぜひ活用してみてください。

コメント