検索

キーワード


【Excel VBA】セルの塗りつぶしやフォントのカラー変更を行う方法

  • 公開日:2020-04-01 15:54:49
  • 最終更新日:2021-03-04 20:47:03

エンジニアのIMMRです。

普段、Excelの作業で下記のようにフォントのカラー変更やセルの塗りつぶしを行うと思います。

Excelにおけるフォントのカラー変更やセルの塗りつぶしの例

VBAでも同じような作業を行うことができるので、説明いたします。


1.セルの塗りつぶしやフォントのカラー変更

フォルトやセルの塗りつぶし等のカラー変更を選択しますが、2種類の方法があります。

 ・色パレットの数値で設定する方法

 ・RGB(赤,緑,青)の数値で設定する方法


色パレットとは

Excelには、「色パレット」といってあらかじめ色が決められています。

Excel上での色パレットの表示

そのため、色パレットの1を設定すると黒になります。

では、色パレットの2を設定すると上図の右か下の茶色になると予想されるのですが、結果は白になります。

なぜかというと色パレットの値と位置は下記のように決まっているからです。

色パレットの値と位置

※文字の色(黒・白)は、見やすさだけを考慮したもので差はないです。


この決まった色パレットの位置に対する数値でカラーの設定が出来ます。


RGB(赤,緑,青)とは

その名のとおり、赤、緑、青それぞれに0~255までの数値を指定します。 

光の三原色と同じ考えです。

RGBの説明

そのため、下記のような数値入力をして、カラーを設定します。

 ・RGB(255, 0, 0) → 赤

 ・RGB(0, 255, 0) → 緑

 ・RGB(0, 0, 255) → 青

 ・RGB(255, 255, 0) → 黄

 ・RGB(255, 0, 255) → 薄い紫

 ・RGB(0, 255, 255) → 薄い青

 ・RGB(255, 255, 255) → 白


ちなみに全て、0は、黒になります。

 ・RGB(0, 0, 0) → 黒


その他の色ですが下記の方法でRGB、それぞれの値を確認することができます。


①赤枠の「その他の色」を選択します。

※ここで青枠内の色を選択できますが、ここで選択しなくてもよいです。

RGB値の確認方法:「その他の色」の選択


②赤枠の「ユーザー設定」を選択します。

※ここで青枠内の色を選択できますが、ここで選択しなくてもよいです。

RGB値の確認方法:「ユーザー設定」の選択


③赤枠にRGBのそれぞれの値が記載されています。

※ここで青枠内の色を選択できますが、ここで選択しなくてもよいです。

RGB値の確認


2.セルの塗りつぶしやフォントのカラー変更を行う方法

セルの塗りつぶしやフォントのカラー変更を行う方法ですが、

それぞれ「セルの塗りつぶし」「フォント」の2パターンを説明します。



方法①

セルの塗りつぶし

    Cells(Y, X).Interior.ColorIndex = 色パレットの番号
    Cells(Y, X).Interior.Color = RGB(@, @, @)



方法②

フォントのカラー設定

    Cells(Y, X).Font.ColorIndex = 色パレットの番号
    Cells(Y, X).Font.Color = RGB(@, @, @)


3.セルの塗りつぶしやフォントのカラー変更を行うサンプルコード

色変更マクロ実行前の画面

上記のような文字列が記載されているブックを用意して

下記、プログラムを実行してみます。

Sub test3()

    Cells(2, 2).Font.ColorIndex = 3
    Cells(3, 2).Font.Color = RGB(0, 255, 0)
    Cells(4, 2).Interior.ColorIndex = 6
    Cells(5, 2).Interior.Color = RGB(0, 255, 255)

End Sub



4.セルの塗りつぶしやフォントのカラー変更を行うサンプルコードの実行

セルの塗りつぶしやフォントのカラー変更を行うことができるか上記、サンプルコードを使用して実行します。

実行結果は以下になります。



実行結果

色変更マクロの実行結果


それぞれのフォントやセルに対して、カラー変更が行われます。

セルの塗りつぶしやフォントのカラー変更を行うことが出来ました。



【著者】

Imamura

今まではExcel VBAの開発をしてきました。
開発を主にしたものや他の業務の効率化を目指して行ったものさまざまです。
現在は、他のプログラミング言語に挑戦して、スキルアップを目指しています。

よく読まれている記事