教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】ラベルのフォントの書式を設定する方法を教えて!

構文

構文は以下の通りです。

ラベル名.Font.Name = "フォント名"
ラベル名.Font.Size = サイズ
ラベル名.Font.Bold = True/False
ラベル名.Font.Italic = True/False
ラベル名.Font.Underline = xlUnderlineStyleNone / xlUnderlineStyleSingle / xlUnderlineStyleDouble
ラベル名.Font.Color = RGB(R, G, B)

解説

ラベル名は、フォームに配置したラベルの名前を指定します。Fontプロパティを使用してラベルのフォントの書式を設定します。

プロパティ 内容
Font.Name フォント名を指定します。代表的なフォント名を幾つか紹介します。
・"MS ゴシック"
・"MS 明朝"
・"MS Pゴシック"
・"MS P明朝"
・"HGP教科書体"
・"HG創英角ゴシック体"
・"HG創英角明朝体"
・"Arial"
Font.Size フォントサイズを指定します。整数値を指定し、ポイント単位でフォントサイズを指定します。
Font.Bold フォントを太字にする場合はTrue、太字にしない場合はFalseを指定します。
Font.Italic フォントをイタリック体にする場合はTrue、イタリック体にしない場合はFalseを指定します。
Font.Underline フォントに下線を引く場合に指定します。以下いずれかを指定します。
・xlUnderlineStyleNone(下線なし)
・xlUnderlineStyleSingle(一重下線)
・xlUnderlineStyleDouble(二重下線)
Font.Color フォントの色を指定します。RGB関数を使用してRed(R)、Green(G)、Blue(B)の値を指定します。

使い方

具体的な使い方を紹介します。

Private Sub UserForm_Initialize()
    ' フォントの書式を設定
    Label1.Font.Name = "MS ゴシック"
    Label1.Font.Size = 12
    Label1.Font.Bold = True
    Label1.Font.Italic = False
    Label1.Font.Underline = xlUnderlineStyleSingle
    Label1.Font.Color = RGB(255, 0, 0) ' 赤色
End Sub

上記の例では、フォーム上に配置したラベルのフォントの書式を設定しています。Label1のフォントは「MS ゴシック」で、サイズは12ポイント、太字、一重下線、赤色に設定されます。

プログラミング例

以下に、プログラミング例を紹介します。

Private Sub UserForm_Initialize()
    ' フォントの初期設定
    Label1.Caption = "Hello, VBA!"
    Label1.Font.Name = "Arial"
    Label1.Font.Size = 14
    Label1.Font.Bold = False
    Label1.Font.Italic = False
End Sub

Private Sub ToggleFontButton_Click()
    ' ボタンがクリックされたら、フォントの書式を切り替える
    If Label1.Font.Bold = True Then
        Label1.Font.Bold = False
        Label1.Font.Italic = False
    Else
        Label1.Font.Bold = True
        Label1.Font.Italic = True
    End If
End Sub

このコードでは、UserForm_Initializeサブルーチンでフォームが初期化されるときに、ラベルのフォントを設定します。また、ToggleFontButton_Clickサブルーチンでボタンがクリックされると、フォントの太字とイタリック体を切り替えます。

まとめ

フォーム内のラベルのフォントの書式を設定するには、LabelObject.Fontプロパティを使用します。LabelObject.Font.Name、LabelObject.Font.Size、LabelObject.Font.Bold、LabelObject.Font.Italic、LabelObject.Font.Underline、LabelObject.Font.Colorを適切に設定することで、ラベルのフォントの書式を自由に変更できます。是非活用してください。