文字色の設定

Excel VBA を使って文字色の設定を行う方法を解説します。使用できる色として 57 種類の色が用意されています。

(Last modified: )

文字色を設定する

それぞれの色には0から56のインデックス番号が対応しており、Fontオブジェクトの「ColorIndex」プロパティにインデックス番号を指定することで文字色を指定できます。

Dim font1 As Font

Set font1 = Range("A1").Font
font1.ColorIndex = 10

Fontオブジェクトを別途取り出さずに、次のようにまとめて記述しても構いません。

Range("A1").Font.ColorIndex = 10

ここで指定できる57種類の色は、Excelで「セルの書式設定」で設定可能な色と同じです。

文字色の設定

※どの色がどのインデックス番号かは、このページの最後を参照して下さい。

サンプルプログラム

では簡単なサンプルで試してみましょう。

Sub テスト()
    
    Range("A2:B4").Value = "ABC"

    Range("A2").Font.ColorIndex = 3
    Range("B3").Font.ColorIndex = 26
    Range("B4").Font.ColorIndex = 47

End Sub

上記マクロを実行すると次のようになります。

文字色の設定

また、色のインデックス番号と実際の色の一覧を確認しておきます。セルの背景色にも同じように色をインデックス番号で指定できますので、色々な色をセルの背景に設定してみましょう。(背景色の設定については別のページで詳しく見ていきます)。

Sub テスト()
    
    Dim i As Integer, j As Integer
    
    For i = 1 To 8
        For j = 1 To 7
            Cells(i, j).Interior.ColorIndex = (i - 1) * 7 + j
            Cells(i, j).Value = (i - 1) * 7 + j
        Next j
    Next i

End Sub

上記マクロを実行すると次のようになります。

文字色の設定

※インデックス番号「0」は色無しのとなりますが、文字色の場合は色無しは設定できません。

-- --

Excel VBA を使って文字色の設定を行う方法を解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。