ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
ラベルの 3 種類
| 種類 | 挿入場所 | 特徴 |
|---|---|---|
| フォームコントロール (Label) | 開発タブ → 挿入 → フォームコントロール | 古い形式。シンプル。マクロから操作可 |
| ActiveX コントロール (Label) | 開発タブ → 挿入 → ActiveX コントロール | プロパティが豊富。ただし環境依存あり |
| UserForm の Label | VBE で UserForm に配置 | ダイアログ内の表示。最も柔軟 |
| シェイプにテキスト(代替案) | 挿入 → 図形 → テキストボックス | VBA で Shapes.AddLabel で動的生成も可 |
シート上にラベルを動的に作成
Sub AddLabelDynamic()
Dim lbl As Shape
Set lbl = ActiveSheet.Shapes.AddLabel( _
Type:=msoTextOrientationHorizontal, _
Left:=100, _
Top:=50, _
Width:=200, _
Height:=30)
lbl.Name = "StatusLabel"
lbl.TextFrame.Characters.Text = "処理待機中..."
lbl.TextFrame.Characters.Font.Bold = True
lbl.TextFrame.Characters.Font.Size = 14
lbl.TextFrame.Characters.Font.Color = RGB(0, 102, 204)
End Sub
Sub UpdateLabel(message As String)
On Error Resume Next
ActiveSheet.Shapes("StatusLabel").TextFrame.Characters.Text = message
On Error GoTo 0
End Sub
Sub DemoUpdate()
Call UpdateLabel("処理開始")
Application.Wait Now + TimeValue("00:00:01")
Call UpdateLabel("処理中... 50%")
Application.Wait Now + TimeValue("00:00:01")
Call UpdateLabel("完了しました")
End Sub
セルの変更に応じてラベルを更新
シートモジュール(VBE で対象シートをダブルクリック)に書きます:
' Sheet1 のコード
Private Sub Worksheet_Change(ByVal Target As Range)
' A1 セルの変更だけ反応
If Target.Address = "$A$1" Then
Dim val As Variant
val = Target.Value
If IsNumeric(val) Then
If val > 100 Then
Call UpdateLabel("値が大きすぎます: " & val)
ActiveSheet.Shapes("StatusLabel").TextFrame.Characters.Font.Color = RGB(204, 0, 0)
Else
Call UpdateLabel("OK: " & val)
ActiveSheet.Shapes("StatusLabel").TextFrame.Characters.Font.Color = RGB(0, 153, 0)
End If
Else
Call UpdateLabel("数値を入力してください")
End If
End If
End Sub
UserForm のラベルを操作
' UserForm1 にラベル Label1 を配置している前提
' フォーム表示時に初期化
Private Sub UserForm_Initialize()
Me.Label1.Caption = "ファイル名を入力してください"
Me.Label1.ForeColor = RGB(0, 0, 153)
Me.Label1.Font.Bold = True
Me.Label1.Font.Size = 11
End Sub
' TextBox1 が変更されたらラベルを更新
Private Sub TextBox1_Change()
Dim text As String
text = Me.TextBox1.Value
If Len(text) = 0 Then
Me.Label1.Caption = "ファイル名を入力してください"
Me.Label1.ForeColor = RGB(0, 0, 153)
ElseIf Len(text) > 50 Then
Me.Label1.Caption = "ファイル名が長すぎます(50 文字以内)"
Me.Label1.ForeColor = RGB(204, 0, 0)
Else
Me.Label1.Caption = "OK: " & text & ".xlsx で保存します"
Me.Label1.ForeColor = RGB(0, 153, 0)
End If
End Sub
フォームコントロールのラベル(古い形式)
「開発」タブ → 挿入 → フォームコントロール → ラベル で配置したラベルは Shapes コレクション経由で操作します:
Sub UpdateFormControlLabel()
' ラベル名は配置時に「ラベル 1」「Label 1」等
With ActiveSheet.Shapes("ラベル 1")
.TextFrame.Characters.Text = "新しい表示内容"
.TextFrame.Characters.Font.Bold = True
.Fill.ForeColor.RGB = RGB(255, 255, 200) ' 背景色
.Line.ForeColor.RGB = RGB(255, 153, 0) ' 枠線色
End With
End Sub
' 全ラベル一覧
Sub ListAllLabels()
Dim s As Shape
For Each s In ActiveSheet.Shapes
Debug.Print s.Name, s.Type, s.TextFrame.Characters.Text
Next s
End Sub
ActiveX ラベル
' ActiveX ラベル Label1 がシートに配置されている前提
Sub UpdateActiveXLabel()
With Sheet1.Label1
.Caption = "ActiveX ラベル"
.Font.Bold = True
.Font.Size = 14
.ForeColor = RGB(0, 102, 204)
.BackColor = RGB(255, 255, 200)
.BorderStyle = 1 ' fmBorderStyleSingle
End With
End Sub
セルのコメントもラベル代わりに使える
Sub AddCellComment()
With Range("A1")
If Not .Comment Is Nothing Then .Comment.Delete
.AddComment "ここに注釈を表示"
.Comment.Shape.TextFrame.Characters.Font.Bold = True
.Comment.Visible = True ' 常時表示
End With
End Sub
FAQ
Q: ラベルを背景透過にしたい
A: フォームコントロールは .Fill.Visible = msoFalse。ActiveX は .BackStyle = 0(fmBackStyleTransparent)。
Q: 配置後にラベルの名前を変えたい
A: 右クリックの名前ボックス(数式バーの左)に新しい名前を入力するか、Shapes("旧名").Name = "新名"。
Q: ラベルが印刷されないようにしたい
A: ラベルを右クリック → コントロールの書式設定 → プロパティ → 「オブジェクトを印刷する」のチェックを外す。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?