- Home ›
- Excel VBA入門 ›
- 入力フォームの作成
ラベルの利用
フォーム上で固定の文字などを表示するラベルの利用方法について解説します。
(2022 年 06 月 16 日公開 / 2022 年 06 月 16 日更新)
ラベルを作成する
ラベルを作成する方法を見ていきます。ラベルを作成するにはツールボックス上で下記のアイコンをクリックします。
アイコンをクリックした後でフォーム上でマウスをドラッグしてラベルを作成します。
オブジェクト名の設定
VBAから操作するにあたってラベルのオブジェクト名を設定しておきます。ラベルのプロパティウィンドウを見てください。
オブジェクト名はプロパティウィンドウ上で直接編集が出来ます。今回はオブジェクト名を「nameLabel」に変更します。
ラベルに表示する文字列を設定する
ラベルに表示する文字列を設定します。文字列を設定するには「Caption」プロパティを使います。
object.Caption = String
オブジェクトの上に表示する説明テキストを設定します。 object には設定するオブジェクトを指定します。設定する値の String にはキャプションとして表示されるテキストを示す文字列式を指定します。
ラベルに表示したい文字列をCaptionプロパティに設定します。
nameLabel.Caption = "ラベル"
ラベルはフォームに属しています。その為、ラベルに対するコードを記述する場合は「フォーム名.ラベル名」の形で記述します。
sampleForm.nameLabel.Caption = "ラベル"
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Load sampleForm sampleForm.nameLabel.Caption = "Name" sampleForm.Show End Sub
上記マクロを実行すると次のように表示されます。
プロパティウィンドウで値を指定する
「Caption」プロパティについてはプロパティウィンドウで指定が出来ますので、値が決まっている場合は設計の時点で設定をしておくことも可能です。プロパティウィンドウの「Caption」の箇所に表示したい文字列を記述します。
ラベルのフォントを設定する
ラベルに表示する文字列のフォントを設定します。フォントの設定には、ラベルからフォントオブジェクトを取得し、フォントオブジェクトが持つ色々なプロパティに対して値を設定します。
まずフォントの種類の設定です。
object.Name = String
フォントの種類を設定します。 object には対象となる Font オブジェクトを指定します。設定する値の String にはフォント名を指定します。
「Name」プロパティにフォント名を指定します。例えば「MS 明朝」などのようなフォントを表す文字を指定します。
次にフォントの太字や斜体など属性の設定です。
object.Size = Currency object.Bold = Boolean object.Italic = Boolean object.StrikeThrough = Boolean object.Underline = Boolean
フォントに関する各種属性を設定します。 object には対象となる Font オブジェクトを指定します。値として設定する Currency にはフォントサイズを表す数値を指定します。また Boolean には指定の属性を適用する場合に True 、解除する場合は False を指定します。
「Size」プロパティは文字のサイズをポイント単位で指定します。
「Bold」プロパティは文字を太字にするかどうかを、「Italic」プロパティは文字を斜体にするかどうかを、「StrikeThrough」プロパティは文字で取り消し線を表示するかを、「Underline」プロパティは文字に下線を表示するかどうかを指定します。
ラベルコントロールに対してFontに関する設定を行う場合は「Font」プロパティを使って次のように指定します。
sampleForm.nameLabel.Font.Name = "MS 明朝" sampleForm.nameLabel.Font.Bold = True
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Load sampleForm sampleForm.nameLabel.Font.Name = "MS 明朝" sampleForm.nameLabel.Font.Bold = True sampleForm.nameLabel.Font.Italic = True sampleForm.nameLabel.Font.Size = 12 sampleForm.Show End Sub
上記マクロを実行すると次のように表示されます。
プロパティウィンドウで値を指定する
フォントに関する設定はプロパティウィンドウで指定が出来ますので、値が決まっている場合は設計の時点で設定をしておくことも可能です。プロパティウィンドウの「Font」の箇所の右側にある「...」をクリックします。
フォント名やスタイルなどの各種設定が行えます。
ラベルの文字色と背景色を設定する
ラベルの文字色と背景色を設定します。
文字色の設定には「ForeColor」プロパティを使います。
object.ForeColor = Long
オブジェクトの前景色を設定します。 object には対象となるオブジェクトを指定します。設定する値の Long にはオブジェクトの前景色を表す値または定数を指定します。
色を指定するためのLong型の値には数値の変わりにRGB関数を使って色を指定できます。(RGB関数については「RGB関数」を参照して下さい。
使い方としては次のようになります。
sampleForm.nameLabel.ForeColor = RGB(255, 0, 0)
次は背景色の設定です。背景色の設定には「BackColor」プロパティを使います。
object.BackColor = Long
オブジェクトの背景色を設定します。 object には対象となるオブジェクトを指定します。設定する値の Long にはオブジェクトの背景色を表す値または定数を指定します。
基本的に使い方は前景色の場合と同じです。ただ背景色の場合は背景が非透明になっている必要があります。デフォルトで非透明になっているので特に設定は必要ありませんが明示的に指定する場合には「BackStyle」プロパティを設定します。
object.BackStyle = fmBackStyle
オブジェクトの背景のスタイルを設定します。 object には対象となるオブジェクトを指定します。設定する値の fmBackStyle にはコントロールの背景スタイルを指定します。
指定できる値は次のどちらかです。
定数 | 値 | 背景スタイル |
---|---|---|
fmBackStyleTransparent | 0 | 背景を透明にします |
fmBackStyleOpaque | 1 | 背景を不透明にします |
使い方としては次のようになります。
sampleForm.nameLabel.BackColor = RGB(255, 0, 0) sampleForm.nameLabel.BackStyle = fmBackStyleOpaque
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Load sampleForm sampleForm.nameLabel.ForeColor = RGB(255, 0, 0) sampleForm.nameLabel.BackColor = RGB(255, 255, 0) sampleForm.Show End Sub
上記マクロを実行すると次のように表示されます。
プロパティウィンドウで値を指定する
前景色と背景色に関する設定はプロパティウィンドウで指定が出来ますので、値が決まっている場合は設計の時点で設定をしておくことも可能です。では例として背景色の設定を行います。プロパティウィンドウの「BackColor」の箇所の右側にある下矢印をクリックします。
下記のようにカラーパレットが表示されますので色を選択できます。
ラベルのイベント処理
ラベルで用意されているイベントは以下の通りです。
イベント | 発生条件 |
---|---|
Click | マウスでクリック |
DblClick | マウスで2 回クリック |
MouseDown | マウスボタンを押す |
MouseUp | マウスボタンを離す |
MouseMove | マウスボタンを動かす |
Error | コントロールでエラーが検出され、呼び出し元のプログラムにエラー情報を返せないとき |
BeforeDragOver | ドラッグ アンド ドロップ操作の実行 |
BeforeDropOrPaste | データをオブジェクトにドロップしようとするか、または貼り付けようとする |
例としてClickイベントを試してみます。フォームのコードウィンドウを開いて下さい。
コードウィンドウが開いたら次のように入力します。
Private Sub nameLabel_Click() sampleForm.nameLabel.BackColor = RGB(255, 255, 0) End Sub
ラベルでクリックイベントが発生したら、背景色を黄色に変更します。では実行してみます。
ラベルの上でクリックして下さい。次のように背景色が変更されます。
-- --
フォーム上で固定の文字などを表示するラベルの利用方法について解説しました。
( Written by Tatsuo Ikura )

著者 / TATSUO IKURA
初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。