はじめに
Excel VBAでは、セルの背景色や文字色を自由に設定できます。
表の見やすさ向上や条件付きの強調表示など、色操作は業務効率化に欠かせません。
この記事では色の変更方法とクリア(元に戻す)方法を、サンプルコード付きで解説します。
1. 背景色を変更する
背景色は .Interior.Color
または .Interior.ColorIndex
を使用します。
例1:RGB関数で背景色を設定
Sub ChangeBackground_RGB()
'セルA1の背景色を黄色に変更
Range("A1").Interior.Color = RGB(255, 255, 0)
End Sub
RGB(赤, 緑, 青)
の値は0〜255で設定- 細かい色指定が可能
例2:ColorIndexで背景色を設定
Sub ChangeBackground_ColorIndex()
'セルA1の背景色をColorIndex=6(黄色)に変更
Range("A1").Interior.ColorIndex = 6
End Sub
- Excelの標準カラーパレット番号を指定
- 環境によって色番号が異なる場合あり
2. 文字色を変更する
文字色は .Font.Color
または .Font.ColorIndex
を使用します。
例1:RGB関数で文字色を設定
Sub ChangeFont_RGB()
'セルA1の文字色を赤に変更
Range("A1").Font.Color = RGB(255, 0, 0)
End Sub
例2:ColorIndexで文字色を設定
Sub ChangeFont_ColorIndex()
'セルA1の文字色を青に変更
Range("A1").Font.ColorIndex = 5
End Sub
3. 背景色と文字色を同時に変更
Sub ChangeBackgroundAndFont()
With Range("A1")
.Interior.Color = RGB(0, 255, 0) '背景を緑
.Font.Color = RGB(255, 255, 255) '文字を白
End With
End Sub
4. 色をクリア(元に戻す)方法
設定した色を元の状態に戻す場合は、以下を使用します。
背景色をクリア
Sub ClearBackground()
Range("A1").Interior.ColorIndex = xlNone
End Sub
文字色をクリア
Sub ClearFontColor()
Range("A1").Font.ColorIndex = xlAutomatic
End Sub
背景色と文字色を同時にクリア
Sub ClearBackgroundAndFont()
With Range("A1")
.Interior.ColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
End With
End Sub
💡 補足.ClearFormats
を使えば、罫線やフォントサイズなども含めて書式を一括クリアできます。
5. RGBとColorIndexの使い分け
方法 | 特徴 | 向いているケース |
---|---|---|
RGB | 0〜255の値で細かく色を指定できる | ブランドカラーや特定の色コードを使用する場合 |
ColorIndex | 標準パレット番号で簡単指定 | 色が固定でOK、簡単に設定したい場合 |
まとめ
- 背景色 →
.Interior.Color
(RGB推奨)または.Interior.ColorIndex
- 文字色 →
.Font.Color
(RGB推奨)または.Font.ColorIndex
- クリア → 背景色は
xlNone
、文字色はxlAutomatic
色操作を覚えると、VBAでのExcel管理がより見やすく、分かりやすくなります。