excel

【Excel】エクセルで塗りつぶし色・文字色を一括変更する方法(セルの背景色をまとめて変換

当サイトでは記事内に広告を含みます

 

エクセルで作成した表のデザインを見直すとき、セルの塗りつぶし色や文字色を1つずつ変更するのは非常に手間がかかります。特にデータ量が多い場合や、特定の条件に合うセルだけ色を変えたい場合には、効率的な方法が求められます。

本記事では、エクセルで塗りつぶし色・文字色を一括変更する方法を詳しく解説します。「検索と置換」を使った色の一括変更、条件付き書式を活用した自動色分け、VBAによる自動化まで、幅広い手法をご紹介します。

「特定の値が入ったセルだけ色を変えたい」「表全体の色を一気に統一したい」という方にもきっと役立つ内容です。ぜひ最後までお読みください。

エクセルで塗りつぶし色・文字色を一括変更するなら条件付き書式とVBAが強力

それではまず、エクセルで塗りつぶし色・文字色を一括変更する方法の全体像について解説していきます。

エクセルで色を一括変更する方法は大きく3つあります。「検索と置換」で同じ色のセルをまとめて変更する方法、「条件付き書式」で値に応じて自動的に色を設定する方法、そしてVBAで柔軟に色を操作する方法です。それぞれ得意とする場面が異なるため、目的に応じて使い分けることが重要です。

塗りつぶし色・文字色の一括変更方法まとめ

・検索と置換:同じ書式(色)のセルを一括で別の色に変更する

・条件付き書式:特定の値・条件に合うセルを自動で色分けする

・VBA:複雑な条件や大量データに対して柔軟に色を変更する

・テーマカラー変更:ブック全体のカラーテーマを一括切り替える

まず、条件付き書式を使って特定の値のセルに色をつける基本的な操作画面を確認しましょう。

📗
Microsoft Excel – 売上表.xlsx
🔲 ─ ✕

ホーム
挿入
ページレイアウト
数式
データ
校閲

「ホーム」→「条件付き書式」→「セルの強調表示ルール」→「指定の値より大きい」を選択した状態

指定の値より大きい
次の値より大きいセルを書式設定:

書式:

濃い緑の文字、緑の塗りつぶし ▼
キャンセル
OK

▼ 条件付き書式適用後(100,000より大きいセルが緑に)
商品名 売上金額
商品A 120,000
商品B 80,000
商品C 150,000
商品D 95,000

条件付き書式を使えば、数値の大小や特定のテキストに応じてセルの色を自動的に変えることができます。一度設定しておけば、データを更新するたびに自動で色が反映されるため非常に便利でしょう。

検索と置換で塗りつぶし色・文字色を一括変更する方法

続いては、「検索と置換」機能を使って塗りつぶし色・文字色を一括変更する手順を確認していきます。

検索と置換で書式を一括変更する基本手順

「検索と置換」は値だけでなく、書式(色・フォントなど)を対象に検索・置換できる機能です。特定の塗りつぶし色がついたセルを別の色にまとめて変更したい場合に活用できます。

手順は「Ctrl」+「H」で「検索と置換」ダイアログを開き、「オプション」ボタンをクリックして詳細設定を表示します。「検索する文字列」の「書式」ボタンから変更前の色を指定し、「置換後の文字列」の「書式」ボタンから変更後の色を指定します。最後に「すべて置換」をクリックすれば完了です。

検索と置換で書式変更するときの注意点

・「書式」ボタンは「オプション」を展開しないと表示されない

・検索する書式に何も指定しないと、すべてのセルが置換対象になる

・条件付き書式で設定した色は「検索と置換」では変更できない

同じ色のセルをまとめて選択して色変更する方法

特定の色がついたセルをまとめて選択して色を変更したい場合は、「検索と置換」の「すべて検索」を使う方法も有効です。「すべて検索」を実行すると、該当するすべてのセルがリストアップされます。リスト上で「Ctrl」+「A」を押すと該当セルがすべて選択された状態になり、そのまま塗りつぶし色や文字色を変更できます。

この方法は、条件付き書式ではなく手動で塗られた色に対して有効です。条件付き書式の色は設定のルール自体を変更する必要があります。

テーマカラーを変更してブック全体の色を一括切り替える

テーマカラーとは、ブック全体で使われる配色のセットです。「ページレイアウト」タブ→「テーマ」→「配色」から変更できます。テーマカラーを切り替えると、テーマカラーを使って設定された塗りつぶし色・文字色がブック全体で一括変更されます。

オリジナルの配色を作りたい場合は「色のカスタマイズ」から独自のカラーセットを作成することも可能でしょう。ただし、直接指定(絶対カラー)で設定された色はテーマカラーの変更に影響されないため注意が必要です。

方法 得意な場面 対象の色
検索と置換 特定の色のセルを別の色に変更 手動設定の色
条件付き書式 値に応じて自動で色分け 条件付き書式の色
テーマカラー変更 ブック全体の配色を統一 テーマカラー使用のセル
VBA 複雑な条件・大量データ すべての色

条件付き書式で特定の値に応じて色を自動変更する方法

続いては、条件付き書式を使って特定の値や条件に応じてセルの色を自動的に変更する方法を確認していきます。

条件付き書式の基本的な設定手順

条件付き書式を設定するには、まず色を変えたいセル範囲を選択します。「ホーム」タブ→「条件付き書式」→「セルの強調表示ルール」から条件の種類を選びます。「指定の値より大きい」「指定の値に等しい」「文字列を含む」など、さまざまな条件が用意されています。

条件を選ぶとダイアログが開くので、基準となる値と適用する書式(色)を指定して「OK」をクリックすれば設定完了です。設定後はデータを変更するだけで自動的に色が更新されるため、手動での色変更が不要になります。

📗
Microsoft Excel – 成績表.xlsx
🔲 ─ ✕
「条件付き書式」→「ルールの管理」で複数ルールを確認・編集できる
条件付き書式ルールの管理

書式ルールの表示:

現在の選択範囲 ▼
新規ルール
ルールの編集
ルールの削除
ルール(表示順に適用) 書式 適用先
セルの値 >= 80 AaBbCcYyZz =$B$2:$B$20
セルの値 < 50 AaBbCcYyZz =$B$2:$B$20
セルの値 = “合格” AaBbCcYyZz =$C$2:$C$20
キャンセル
OK

数式を使って行全体に色をつける方法

条件付き書式では、数式を使ってより柔軟な条件を指定できます。たとえば「C列の値が”完了”の行全体を灰色にする」という設定も可能です。

設定手順は、対象の行全体(A列〜E列など)を選択→「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」を選び、以下の数式を入力します。

=$C2=”完了”

↑ C列が「完了」のとき、その行全体に色をつける数式

($C2 の「$C」は列を固定、「2」は行を固定しない形にする)

列を固定($C)して行を固定しないことがポイントです。この形にすることで、行ごとに条件が正しく判定されます。

条件付き書式のルールを一括削除・変更する方法

設定した条件付き書式のルールをまとめて削除するには、「ホーム」→「条件付き書式」→「ルールのクリア」→「シート全体からルールをクリア」を選択します。特定の範囲だけクリアしたい場合は「選択したセルからルールをクリア」を使いましょう。

既存のルールを変更したい場合は「ルールの管理」から対象のルールを選択し「ルールの編集」をクリックします。複数のルールを一元管理できるため、後から条件を見直すときにも便利でしょう。

VBAで塗りつぶし色・文字色を一括変更する方法

続いては、VBAを使って塗りつぶし色・文字色を一括変更する方法を確認していきます。

VBAで特定の値のセルに塗りつぶし色をつける

VBAを使えば、条件付き書式では難しい複雑な条件や、複数シートにまたがる色変更も一括で対応できます。以下のコードは、B列の値が100,000以上のセルに緑の塗りつぶし色をつける例です。

📗
Microsoft Visual Basic for Applications – 売上表.xlsm
ファイル(F)編集(E)表示(V)挿入(I)実行(R)ツール(T)
VBAProject
📁 標準モジュール
Module1
Sub ColorCellsByValue()
‘ B列の値が100000以上のセルを緑に塗りつぶす
Dim ws As Worksheet
Dim cell As Range
Set ws = ThisWorkbook.Sheets(“Sheet1”)
For Each cell In ws.Range(“B2:B100”)
If cell.Value >= 100000 Then
cell.Interior.Color = RGB(198, 239, 206) ‘緑
cell.Font.Color = RGB(39, 98, 33) ‘濃い緑(文字色)
Else
cell.Interior.ColorIndex = xlNone ‘色なしにリセット
cell.Font.ColorIndex = xlAutomatic
End If
Next cell
MsgBox “色の変更が完了しました!”
End Sub

「cell.Interior.Color」が塗りつぶし色、「cell.Font.Color」が文字色を指定するプロパティです。RGB関数で色を指定できるため、任意の色を細かく設定できます。色をリセットしたいときは「xlNone」や「xlAutomatic」を使いましょう。

全シートの塗りつぶし色を一括クリアするVBA

表全体の塗りつぶし色をすべてリセットしたい場合は、以下のシンプルなコードが使えます。

Sub ClearAllColors()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

ws.Cells.Interior.ColorIndex = xlNone

Next ws

MsgBox “全シートの塗りつぶし色をクリアしました!”

End Sub

「ws.Cells.Interior.ColorIndex = xlNone」でシート全体の塗りつぶし色を一括削除できます。条件付き書式で設定した色は残りますが、手動で設定した塗りつぶし色はすべて解除されるでしょう。

RGBカラーコードの指定方法と主な色の参考値

VBAでよく使う色のRGB値をまとめました。RGB関数は「RGB(赤, 緑, 青)」の形式で0〜255の数値を指定します。

📗
よく使う色のRGB値一覧(VBA設定例)
色名 色見本 RGB値 VBA記述例
緑(成功・合格) 198, 239, 206 RGB(198, 239, 206)
赤(警告・エラー) 255, 199, 206 RGB(255, 199, 206)
黄(注意・中間) 255, 235, 156 RGB(255, 235, 156)
水色(情報・参考) 218, 232, 252 RGB(218, 232, 252)
薄灰(完了・無効) 242, 242, 242 RGB(242, 242, 242)
プロパティ 説明 リセット方法
Interior.Color 塗りつぶし色をRGBで指定 Interior.ColorIndex = xlNone
Font.Color 文字色をRGBで指定 Font.ColorIndex = xlAutomatic
Interior.ColorIndex 塗りつぶし色をインデックスで指定 xlNone を指定
Font.ColorIndex 文字色をインデックスで指定 xlAutomatic を指定

まとめ

本記事では、エクセルで塗りつぶし色・文字色を一括変更する方法について解説しました。

目的に合わせた方法を選ぶことが色変更を効率化するポイントです。同じ色を別の色に置き換えたいなら「検索と置換」、値に応じて自動的に色を変えたいなら「条件付き書式」、複雑な条件や複数シートへの対応が必要なら「VBA」を活用しましょう。

テーマカラーを使った一括切り替えも、デザインを統一したいときに非常に便利な機能です。ただし、直接指定した色はテーマ変更の影響を受けない点には注意が必要でしょう。

ぜひ本記事の内容を参考に、エクセルの色管理を効率よく行ってください。