セルの文字色・サイズを設定する方法を解説します。
RangeオブジェクトのFont.Colorプロパティで文字色を、
RangeオブジェクトのFont.Sizeプロパティで文字サイズを指定します。
基本構文
対象セル.Font.Color = RGB(赤, 緑, 青) 対象セル.Font.Size = 文字サイズ ' 単位:ポイント
サンプルコード
' 文字色・サイズの設定 Worksheets("Sheet1").Range("A1").Font.Color = RGB(0, 112, 192) Worksheets("Sheet1").Range("A1").Font.Size = 16 ' セル範囲をRange変数に入れてから設定 Dim 対象セル範囲 As Range Set 対象セル範囲 = Worksheets("Sheet1").Range("B2:D5") ' 色定数で文字色を設定 対象セル範囲.Font.Color = vbRed ' RGB関数で文字色を設定 対象セル範囲.Font.Color = RGB(0, 112, 192) ' 自動の文字色へ戻す 対象セル範囲.Font.ColorIndex = xlAutomatic ' 他のセルの文字色をコピー 対象セル範囲.Font.Color = Worksheets("Sheet1").Range("A1").Font.Color ' 文字サイズを14ptに設定 対象セル範囲.Font.Size = 14 ' 他のセルの文字サイズをコピー 対象セル範囲.Font.Size = Worksheets("Sheet1").Range("A1").Font.Size ' 文字色・サイズをまとめて設定 With 対象セル範囲.Font .Color = RGB(255, 255, 255) .Size = 12 End With
解説
セルの文字色・サイズを変更するには、
RangeオブジェクトのFontプロパティを使用します。
Font.Colorで文字色、Font.Sizeでサイズを設定でき、
セル範囲から実行すれば範囲内すべてのセルに一括設定ができます。
また、これらのプロパティは読み取ることもできます。
例えば赤色のセルだけ処理をしたい場合に、
If 対象セル.Font.Color = vbRed Then ' セルが赤色だった場合の処理 End If
このような分岐処理を記述することが可能です。
このプロパティの読み取りを活用すればコピーも簡単に書くことができ、
着色セル.Font.Color = 色の設定元セル.Font.Color
これでセルの文字色をコピーできます。
Copyメソッドなどを使用する必要はありませんので、
この書き方も覚えておきましょう。