[VBA]セルの文字の色を変更する2つの方法

2020年3月22日

VBAのプログラムを作成し、プログラムの最終形としてセルへデータを出力するかと思います。セルへデータを出力するだけでプログラムの作成を終了にしていませんか?出力した文字の色を変更することで視覚的にプログラムの完成を高めることができます。

出力後に色の変更を行うことで他のプログラムより一歩進んだ出力を行うようにしましょう!

この記事を読むことで2種類のセルの色変更方法を理解できます。

なお、本記事では例でセルの色を赤に設定する方法を取り上げていきます。
他の色を指定したい場合は他ページを参照してください。(後日カラーコード一覧を執筆します)

合わせて読みたい記事

 

セルの色の変更方法

セルの色は2種類の変更方法で変更することが出来ます。

 

  • colorプロパティを使用する方法
  • ColorIndexプロパティを使用する方法

どちらのプロパティを使用しても色の変更が可能です。
Colorプロパティを使用する場合はRGB関数またはExel定数で色の指定を行うことができます。
ColorIndexプロパティを使用する場合はカラーパレットのインデックス番号で色の指定を行うことできます。
どちらを使用しても色の設定ができるため設定方法を確認していきましょう。

Colorプロパティを使用した文字色の変更方法

RGB関数を指定する方法

RGB関数を指定し、Colorプロパティを使用した色の変更方法を説明します。
指定方法とプログラム例を記載します。

“変更したいセルの指定".Font.Color = RGB(赤要素,緑要素,青要素)

セルの指定を行いFontオブジェクト内のColorプロパティを指示します。
RGB関数を使用し、RGBの要素をそれぞれ255までの数字で指定します。

Sub color()
    'colorプロパティを使用した色指定方法(RGB関数)
    Range("A1").Font.color = RGB(255, 0, 0)
End Sub

プログラム例では[A1]のセルの文字色を赤に変更しています。

Excel定数を指定する方法

Excel定数を指定し、Colorプロパティを使用した色の変更方法を説明します。
指定方法とプログラム例を記載します。

“変更したいセルの指定".Font.Color = Excel定数

セルの指定を行いFontオブジェクト内のColorプロパティを指示します。
Excel定数を指定し、色を指定します。

Sub color()
    'colorプロパティを使用した色指定方法(Excel定数)
    Range("A1").Font.color = vbRed
End Sub

RGB関数を使用した例と同様に、セル[A1]の文字色を赤に変更しています。

ColorIndexプロパティを使用した文字色の変更方法

インデックス番号を指定しColorIndexプロパティを使用した色の変更方法を説明します。

“変更したいセルの指定".Font.ColorIndex = 色コード

セルの指定を行いFontオブジェクト内のColorプロパティを指示します。
インデックス番号を65までの数字で指定します。
赤のColorIndex要素はデフォルトで3番です。

Sub color()
    'colorIndexプロパティを使用した色指定方法
    Range("A1").Font.colorIndex =3
End Sub

同様にセル[A1]の文字色を赤に変更しています。

まとめ

VBAを使用してセルの文字色の変更する指示は2種類の指定方法がある。

  • Colorプロパティを使用する方法
  • ColorIndexプロパティを使用する方法

colorプロパティを使用して指示する方法もまた2種類ある。

  • RGB関数を使用する方法
  • Excel定数を使用する方法

どのプロパティや関数を指定しても色の変更可能であるが、あとでソースコードを確認した際にわかりやすい記述であることを心がけてソースコードを記載する必要がある。

今日の戯言

Excelの色の指定方法はいろいろな方法があり、ややこしいですよね。
自分の指定方法はExcel定数を使用することが多いです。理由としてはソースコードを確認した際に何色を指定したかが一発でわかるからです。定数にない色を指定する際はRGB関数ですね。。
ColorIndexは環境によって色が変わってしまうためあまりおすすめはできないかと思います。

プログラムをあとで見た際にわかりやすいものになっていることはとても重要なため心がけてプログラミングを行いましょう!!

ではでは