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

No.002

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

Excel2003/2007/2010/2013

太字などフォントまわりの設定は、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ゴシック」など普段のフォント名を文字列で指定します。注意すべき点は、そのとおりのフォント名で指定することです。
例えば、「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)... 関数をそのまま指定
  • .Font.Color = 16711680... RGB関数の答えを指定(10進数)
  • .Font.Color = &HFF0000... RGB関数の答えを指定(&H のあと16進数)
  • .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》
ページのトップへ戻る