コントロールのフォントを設定する(Fontプロパティ)

コントロールに文字列が表示される場合、 Font プロパティの値を変更することで文字列のフォントを変更することができます。ここでは Excel のユーザーフォームで Font プロパティを使ってコントロールのフォントを設定する方法について解説します。

(Last modified: )

コントロールのフォントを設定する

コントロールのフォントを設定するには Font プロパティを使用します。例えばラベルの Font プロパティの値はデフォルトで「MS UI Gothic」という値が設定されています。また表示はされていませんがフォントサイズなどの情報も保持しています。

コントロールのフォントを設定する(1)

フォントを設定するには Font プロパティをクリックし、値のところに表示されている「...」をクリックしてください。

コントロールのフォントを設定する(2)

フォントの設定ダイアログが表示されます。

コントロールのフォントを設定する(3)

フォントの種類、スタイル、サイズなどを設定してください。設定が終わりましたら「OK」をクリックしてください。

コントロールのフォントを設定する(4)

ラベルで表示されている文字列のフォントの種類が変更されました。

コントロールのフォントを設定する(5)

このように Font プロパティの値を変更することで、コントロールのフォントを設定することができます。

VBAのプログラムの中でFontプロパティを設定する

プロパティウィンドウを使って Font プロパティの値を変更する代わりに、 VBA のコードを記述して Font プロパティの値を変更することもできます。

Font プロパティは Font オブジェクトを返します。 Font オブジェクトのプロパティに対して値を設定していくことでフォントに関する設定を行うことができます。プロパティウィンドウから設定する場合は、ダイアログを使ってフォントの関する色々な設定を Font オブジェクトに行っていました。

Font オブジェクトに用意されている主なプロパティには次のようなものがあります。

Name
Size
Bold
Italic
Underline
Strikethrough

各プロパティの設定方法について簡単に確認します。

フォント名

フォント名を指定する場合は Font.Name プロパティを使用します。次の書式を使用します。

オブジェクト.Font.Name = フォント名を表す文字列

対象のオブジェクトの Font.Name プロパティに対してフォント名を表す文字列の値を代入します。例えば "MS UI Gothic" や "MS 明朝" などです。

フォントサイズ

フォントサイズを指定する場合は Font.Size プロパティを使用します。次の書式を使用します。

オブジェクト.Font.Size = フォントサイズを表す数値

対象のオブジェクトの Font.Size プロパティに対してフォントサイズを表す数値を代入します。例えば 12 や 20 などです。

太字と斜体

太字や斜体を設定する場合は Font.Bold プロパティまたは Font.Italic プロパティを使用します。次の書式を使用します。

オブジェクト.Font.Bold = True / False
オブジェクト.Font.Italic = True / False

対象のオブジェクトに太字を設定する場合は Font.Bold プロパティに対して True を代入します。対象のオブジェクトに斜体を設定する場合は Font.Italic プロパティに対して True を代入します。

下線

下線を設定する場合は Font.Underline プロパティを使用します。次の書式を使用します。

オブジェクト.Font.Underline = 下線の種類を表す値

下線の種類を表す値は次のいずれかを Font.Strikethrough プロパティに対して代入します。

定数説明
xlUnderlineStyleDouble-4119二重下線
xlUnderlineStyleDoubleAccounting5二重下線(会計)
xlUnderlineStyleNone-4142下線なし
xlUnderlineStyleSingle2一重下線
xlUnderlineStyleSingleAccounting4一重下線(会計)

取り消し線

取り消し線を設定する場合は Font.Strikethrough プロパティを使用します。次の書式を使用します。

オブジェクト.Font.Strikethrough = True / False

対象のオブジェクトに取り消し線を設定する場合は Font.Strikethrough プロパティに対して True を代入します。

サンプルコード

簡単なサンプルで試してみます。ユーザーフォームが表示される前に発生する Initialize イベントに対するイベントプロシージャを作成し、その中で Font プロパティの値を設定します。ユーザーフォームが表示される前にコントロールのプロパティの設定が行われます。

Initialize イベントに対するイベントプロシージャの使い方については「ユーザーフォームを表示する直前に発生するイベント(Initializeイベント)」を参照されてください。

ユーザーフォームのコントロールが何もないところをダブルクリックしてください。

VBAのプログラムの中でFontプロパティを設定する(1)

ユーザーフォームの規定のイベントである Click イベントに対するイベントプロシージャが表示されます。

VBAのプログラムの中でFontプロパティを設定する(2)

今回はユーザーフォームの Initialize イベントに対するイベントプロシージャを使用するので、コードウィンドウで次のようにイベントプロシージャを追加で記述してください。

Private Sub UserForm_Initialize()
    Label1.Font.Size = 20
    With CommandButton1.Font
        .Name = "MS UI Gothic"
        .Bold = True
    End With
End Sub

VBAのプログラムの中でFontプロパティを設定する(3)

これでコードの記述は完了です。では実際に試してみます。「Sub/ユーザーフォームの実行」をクリックしてください。

VBAのプログラムの中でFontプロパティを設定する(4)

ユーザーフォームが表示されました。追加されているラベルのフォントサイズが変更され、コマンドボタンのフォント名が変更され太字が設定されていることが確認できます。

VBAのプログラムの中でFontプロパティを設定する(5)

このように VBA のプログラムの中で Font プロパティの値を変更することができました。

-- --

Excel のユーザーフォームで Font プロパティを使ってコントロールのフォントを設定する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。