【Excel VBA】テーマのフォントを設定する…ThemeFontプロパティ

[Excel VBA]

[ホーム]タブの[フォント]の一覧に表示されるフォントは、[テーマのフォント]と[すべてのフォント]に分類されます。ここでは、セルに[テーマのフォント]を設定するときに使用するThemeFontプロパティを紹介します。セルのデフォルトのフォントは[テーマのフォント]欄にある「本文のフォント」なので、何らかのフォントを設定したセルを「本文のフォント」に戻したい、といったときに役立ちます。[すべてのフォント]欄のフォントを設定したい場合は、Nameプロパティを使用してください。

スポンサーリンク

書式

Fontオブジェクト.ThemeFont = 定数

FontオブジェクトのThemeFontプロパティは、ブックに適用されているテーマのフォントの取得/設定に使用します。設定値には、XlThemeFontクラスの定数を使用します。

XlThemeFontクラスの定数

定数 説明
xlThemeFontMajor 1 見出しのフォント
xlThemeFontMinor 2 本文のフォント
xlThemeFontNone 0 テーマのフォントを使用しない

使用例

下図の実行例では、「HG明朝E」が設定されているセルにテーマのフォントを設定し直しています。

  1. Range("A1").Font.ThemeFont = xlThemeFontMajor
  2. Range("A2:C4").Font.ThemeFont = xlThemeFontMinor
  1. セルA1のフォントを見出しのフォントにする
  2. セルA2~C4のフォントを本文のフォントにする

ThemeFontプロパティとNameプロパティの関係

ThemeFontプロパティとNameプロパティは連動しています。例えば、ThemeFontプロパティに「xlThemeFontMinor」(本文のフォント)を設定すると、Nameプロパティの値は「游ゴシック」になります。

  1. Range("A1").Font.ThemeFont = xlThemeFontMinor
  2. MsgBox Range("A1").Font.Name
  1. セルA1のフォントを本文のフォントにする
  2. セルA1のフォント名(Nameプロパティの値)をメッセージボックスに表示する

反対に、Nameプロパティにテーマのフォント以外のフォントを設定すると、ThemeFontプロパティの値は「0」(xlThemeFontNone)になります。

  1. Range("A1").Font.Name = "HG明朝E"
  2. MsgBox Range("A1").Font.ThemeFont
  1. セルA1のフォントを「HG明朝E」にする
  2. セルA1のThemeFontプロパティの値をメッセージボックスに表示する

テーマのフォントではない「游ゴシック」を設定するには

[ホーム]タブの[フォント]の一覧には、[テーマのフォント]欄と[すべてのフォント]欄のそれぞれに「游ゴシック」があります。

[テーマのフォント]欄の游ゴシックを設定するには、前述のとおりThemeFontプロパティに定数「xlThemeFontMinor」(本文のフォント)を設定します。

  1. Range("A1").Font.ThemeFont = xlThemeFontMinor
  1. セルA1のフォントを本文のフォントにする

[すべてのフォント]欄の游ゴシックを設定するには、ThemeFontプロパティに定数「xlThemeFontNone」(テーマのフォントを使用しない)、Nameプロパティに游ゴシックを設定します。

  1. Range("A1").Font.ThemeFont = xlThemeFontNone
  2. Range("A1").Font.Name = "游ゴシック"
  1. セルA1にテーマのフォントを使用しない
  2. セルA1のフォントを「游ゴシック」にする

そもそも「テーマのフォント」とは?

Excelではブックごとに「見出しのフォント」と「本文のフォント」が決められており、この組み合わせを「テーマのフォント」と呼びます。例えばExcel 2019の標準のブックの場合、見出しのフォントは「游ゴシック Light」、本文のフォントは「游ゴシック」となっています。セルの既定フォントは「本文のフォント」なので、Excel 2019で初期状態のセルに文字を入力すると游ゴシックで表示されます。

テーマのフォントは自由に変更できます。ここでは実験として、下図のような状態のブックでテーマを変更してみます。

セルA1に「見出しのフォント」、セルA2に「本文のフォント」、セルA3に「游ゴシック」を設定してある。初期設定では「本文のフォント」は「游ゴシック」なので、セルA2とセルA3は同じ書体で表示される。

それでは、[ページレイアウト]タブにある[フォント]からテーマのフォントを変更してみましょう。初期状態では[Office、游ゴシック Light、游ゴシック]が適用されていますが、例えば[Constantia - Franklin Gothic Book、HG明朝E、HGゴシックE]に変更すると……。

(1)[ページレイアウト]タブで、(2)[フォント]をクリックし、表示されるリストからテーマのフォントを変更できる。ここでは、(3)[Constantia - Franklin Gothic Book、HG明朝E、HGゴシックE]を選択した。[フォント]の選択肢の種類はExcelのバージョンによって異なる。

[ホーム]タブの[フォント]の[テーマのフォント]欄に表示されるフォントの種類が変わります。

[テーマのフォント]の種類が変わった。

また、テーマのフォントが設定されていたセルA1とセルA2のフォントが、新しいテーマのフォントに変わります。セルA3の「游ゴシック」は[すべてのフォント]欄から設定したもので、テーマのフォントの影響を受けないので、「游ゴシック」のまま変わりません。

テーマのフォントが設定されていたセルのフォントが変わった。

なお、上記のようにテーマを変更したブックでは、ThemeFontプロパティに「xlThemeFontMajor」を設定するとセルのフォントは「HG明朝E」になり、「xlThemeFontMinor」を設定するとセルのフォントは「HGゴシックE」になります。

メモ

セルの既定フォント
セルの既定フォントは、[ファイル]タブの[オプション]をクリックすると表示される[Excelのオプション]ダイアログボックスの[全般](Excel 2016以前は[基本設定])の画面で指定できます。既定フォントのデフォルトは[本文のフォント]です。

メモ

テーマのフォントの構成と図形のフォント
テーマのフォントには、日本語用の「見出しのフォント」「本文のフォント」のほかに、半角英数字用の「見出しのフォント」「本文のフォント」が登録されています。セルを選択して[ホーム]タブの[フォント]をクリックすると[テーマのフォント]欄に日本語用のフォントだけが表示されますが、図形を選択した場合は下図のように半角英数字用のフォントと日本語用のフォントが表示されます。図形内の文字のフォントについては、いずれまた記事にします。
スポンサーリンク

関連記事