ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.002

フォントの書式を設定する 《Font》

2003/2007/2010/2013/2016/2019

太字などフォントまわりの設定は、Fontオブジェクト+プロパティの組み合わせで設定します。
次のような書式で記述します。
  対象セル.Font.プロパティ=設定値

設定値は実際のExcelでの操作と同じく、フォント サイズのような数値設定のケース、太字などオン/オフでの設定、その他定数を指定するケースなどそれぞれとなります。
オン/オフの設定値はTrue/Falseとなります。

では、いろいろあるフォントの書式の例をご案内します。

  • フォント名 ...
      対象セル.Font.Name="MS Pゴシック"
  • フォント サイズ ...
      対象セル.Font.Size = 12
  • 太字 ...
      対象セル.Font.Bold = True
  • 斜体 ...
      対象セル.Font.Italic = True
  • 下線 ...
      対象セル.Font.Underline = True
  • 二重下線 ...
      対象セル.Font.Underline = xlUnderlineStyleDouble
  • 取り消し線 ...
      対象セル.Font.Strikethrough = True
  • 上付き ...
      対象セル.Font.Superscript = True
  • 下付き ...
      対象セル.Font.Subscript = True
  • フォントの色 ...
      対象セル.Font.Color = 設定値、対象セル.Font.ColorIndex = 設定値

では以下に、設定値について注意点などを記しておきます。

フォント名は、「游ゴシック」など普段のフォント名を文字列で指定します。注意すべき点は、そのとおりのフォント名で指定することです。
例えば、「MS Pゴシック」の場合、途中にスペースが入っています。そして全角文字です。スペースを入れなかったり、全角半角などの違いなどで、実行しても反映しなかったり、エラーとなるケースもあります。
VBAで指定するときは、Excelの[フォント名]ボックスからフォント名の文字列をコピーすると確実です。

太字、斜体、普通の下線は「True」または「False」の指定です。
Excelの下線は二重下線があります。その場合設定値は、定義定数「xlUnderlineStyleDouble」を指定します。

Font書式

さて、フォントの色ですが、色については話が少し長くなります。
色の設定については、いろいろな指定方法があるのです。

Colorプロパティはフォントの色をマクロ記録したときに記述され、基本的にRGB関数を利用した設定で、1,600万色を指定することができます。

RGB関数は、赤、緑、青の3つの引数に1~255までの数値を設定するものです。
例えば、RGB(255, 0, 0) は赤、RGB(0, 255, 0) は緑といった具合です。

Colorプロパティの指定は次のようなパターンがあります。
以下はすべて、青に設定する場合の書き方です。

  • 関数をそのまま指定 ...
      対象セル.Font.Color = RGB(0,0,255)
  • RGB関数の答えを指定(10進数)...
      対象セル.Font.Color = 16711680
  • RGB関数の答えを指定(&H のあと16進数)...
      対象セル.Font.Color = &HFF0000
  • 色を表す定数を指定 ...
      対象セル.Font.Color = vbBlue

最後の定数には、vbBlack、vbRed、vbGreen、vbYellow、vbCyan など、代表色の設定があります。

そのほかに色は、「テーマの色」がありますね。
テーマの色で設定する場合は、何列目の色でどの濃淡かの2つの指定を行います。
例えば、テーマが既定のOfficeのときに、「青、アクセント 1、黒 + 基本色 50%」の色を指定する場合、マクロ記録すると次の記述が得られます。


With Selection.Font
	.ThemeColor = xlThemeColorAccent1
	.TintAndShade =  - 0.499984740745262
End With

ただし、テーマの色はテーマがを変更すると違う色となりますので、絶対的な指定ではありません。

もう1つ、ColorIndexプロパティを使う方法があります。
ColorIndexプロパティの設定値は1~56の数値で指定します。

フォントの色を青にする場合、青は既定では5番の色です。

  対象セル.Font.ColorIndex = 5

ColorIndexプロパティは、Excel2003までのバージョンでは、マクロ記録をすると既定で記述されたものです。したがって、昔に作成されたVBAにはよくお目にかかるはずです。

ただし、このColorIndexプロパティも、端末単位で色設定を変更すると違う色となりますので、絶対的な色指定ではありません。
昔は、Excelの色設定を既定から変えない前提で、よく使われておりました。昔 Excelでは56色しか対応していなかったというのも、今となっては少し驚きです。

フォントの色

色の設定については、ヘルプ「セルに塗りつぶしの色を設定する」もご参照ください。

ColorIndexプロパティとColorプロパティの色の対応については、ヘルプ「色指定ColorIndexプロパティに対応するColorプロパティ 一覧」を参考にしてください。

関連ヘルプ

セル、セル範囲を参照する 《Range・Cells・Rows・Columns》
VBAで出てくる基礎用語について教えて
VBAでワークシート関数を使用する 《Value・Formula・FormulaR1C1》
セルに塗りつぶしの色を設定する 《Interior.Color》
ワークシート関数の答えをセルに出さないで取得する 《WorksheetFunction》
twitter hatena line pocket