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」を指定します。
さて、フォントの色ですが、色については話が少し長くなります。
色の設定については、いろいろな指定方法があるのです。
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プロパティ 一覧」を参考にしてください。