サイトについて      連絡先   検索

VBA セルに色を設定する

はじめに

Excel VBA マクロのセルに色を設定する方法を紹介します。

文字色は Range.Font.Color プロパティか Cells.Font.Color プロパティで設定できます。

背景色は Range.Interior.Color プロパティか Cells.Interior.Color プロパティで設定できます。

  • 目次
    • セルに色を設定する
    • セルの範囲に色を設定する
    • 指定したシートのセルに色を設定する

セルに色を設定する

設定する色は「Rgb 関数」で取得できる値を設定します。

RGB 関数で取得した色がそのまま適用されるのは Excel 2007 以降です。
Excel 2003 までは ColorIndex で使用できる色から、一番近い色が自動的に設定されます。

Range の引数にセル名を指定すると、そのセルに色を設定できます。

セル「A1」に色を設定するには Range("A1").Font.Color のように指定します。


Range("A1").Font.Color = RGB(255, 0, 0) ' 文字色
Range("A1").Interior.Color = RGB(200, 200, 200) ' 背景色
2

Cells の引数にセルの行と列の番号を指定すると、そのセルに色を設定できます。

行「2」、列「A」に色を設定するには Cells(2, 1).Font.Color のように指定します。


Cells(1, 1).Font.Color = RGB(255, 0, 0) ' A1
Cells(2, 1).Font.Color = RGB(255, 0, 0) ' A2
Cells(1, 2).Interior.Color = RGB(255, 0, 0) ' B1
Cells(2, 2).Interior.Color = RGB(255, 0, 0) ' B2

ColorIndex に決められた数値を指定すると、それに対応する色を設定します。


Range("A1").Font.ColorIndex = 3 ' 文字色
Range("A1").Interior.ColorIndex = 35 ' 背景色

数値と色の対応表はつぎのようになっています。

1

セルの範囲に色を設定する

セルの範囲「A1」~「B2」に同じ色を設定するには Range("A1:B2").Font.Color または Range("A1", "B2").Font.Color のように指定します。


Range("A1:B2").Font.Color = RGB(255, 0, 0) ' 文字色
Range("A1", "B2").Interior.Color = RGB(200, 200, 200) ' 背景色
3

指定したシートのセルに色を設定する

Range.Font.Color とコードに書くと、アクティブなシートのセルに色を設定します。これは ActiveSheet.Range.Font.Color の ActiveSheet が省略されています。


' どちらも同じコード
Range("A1").Font.Color = RGB(255, 0, 0)
ActiveSheet.Range("A1").Font.Color = RGB(255, 0, 0)

シートを指定するには Sheets の引数にシート名またはインデックスを指定します。

sheet1

Sheet1 のシートを指定するには、Sheets("Sheet1") か Sheets(1) と書きます。


' Sheet1 のセル「A1」に文字色を設定
Sheets("Sheet1").Range("A1").Font.Color = RGB(255, 0, 0)
Sheets(1).Range("A1").Font.Color = RGB(255, 0, 0)

' Sheet2 のセル「A1」に背景色を設定
Sheets("Sheet2").Range("A1").Interior.Color = RGB(200, 200, 200)
Sheets(2).Range("A1").Interior.Color = RGB(200, 200, 200)
  • 目次
    • セルに色を設定する
    • セルの範囲に色を設定する
    • 指定したシートのセルに色を設定する