Excelで大量のデータを管理する際、特定の条件に一致する行を自動で色付けすると、視認性が向上し、データの分析や確認がしやすくなります。例えば、「売上が100以上の行を緑にする」「未完了のタスクを赤にする」 などが可能です。
本記事では、条件付き書式を活用した方法と、VBAを使って行を自動で色付けする方法 について解説します。
目次
条件付き書式を使って行を自動で色付けする方法
「ホーム」→「条件付き書式」→「新しいルール」を選択し、ルールの種類を決定します。セルの値や数式を条件に設定し、適用する書式を指定すると、条件に合致した行が自動で色付けされます。
✅ 特定の値に基づいて行全体を色付けする
例えば、売上額が100以上の行を緑色にする 場合の手順です。
データ例
商品名 | 売上額 |
---|---|
商品A | 120 |
商品B | 80 |
商品C | 150 |
手順
- データ範囲を選択(例:
A2:B10
) - 「ホーム」タブ →「条件付き書式」→「新しいルール」
- 「数式を使用して書式を設定するセルを決定」 を選択
- 次の数式を入力
- 「書式」ボタンをクリックし、塗りつぶしの色を緑に設定
- 「OK」を押して適用
✅ 結果:
売上額が100以上の行が緑色になります。
✅ 特定の文字列に基づいて行を色付けする
例えば、「未完了」の行を赤色にする 場合の手順です。
データ例
タスク | ステータス |
---|---|
レポート作成 | 完了 |
データ入力 | 未完了 |
会議準備 | 進行中 |
手順
- データ範囲(例:
A2:B10
)を選択 - 「条件付き書式」→「新しいルール」
- 「数式を使用して書式を設定するセルを決定」 を選択
- 次の数式を入力
- 「書式」→「塗りつぶし」→「赤色」を選択
- 「OK」を押して適用
✅ 結果:
ステータスが「未完了」の行が赤くなります。
✅ 複数の条件で異なる色を設定する
例えば、以下の条件で色を変える設定をしてみましょう。
- 売上額が 100未満 → 赤
- 売上額が 100以上200未満 → 黄色
- 売上額が 200以上 → 緑
手順
- データ範囲(例:
A2:B10
)を選択 - 「条件付き書式」→「新しいルール」
- 以下のルールを追加
- 売上額 < 100(赤色)
- 100 ≦ 売上額 < 200(黄色)
- 売上額 ≥ 200(緑色)
✅ 結果:
条件に応じて行の色が自動で変わります。
VBAを使って行を自動で色付けする方法(高度な自動化)
条件付き書式は便利ですが、データ量が多いと処理が遅くなることがあります。VBAを使うことで、一括で色付けが可能です。
✅ VBAで特定の条件に基づいて色付け
例えば、
- 売上額100以上の行を緑色にする
- 売上額100未満の行を赤色にする
VBAコード
Sub AutoColorRows()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
' シートと対象範囲を設定
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("B2:B10") ' 条件を適用する列
' 条件に基づいて行の色を変更
For Each cell In rng
If cell.Value >= 100 Then
cell.EntireRow.Interior.Color = RGB(144, 238, 144) ' 緑色
Else
cell.EntireRow.Interior.Color = RGB(255, 182, 193) ' 赤色
End If
Next cell
MsgBox "色変更が完了しました!"
End Sub
✅ VBAの実行手順
- VBAエディタを開く(
Alt + F11
) - 「挿入」→「モジュール」を選択
- コードを貼り付け
- Excelに戻り、
Alt + F8
を押して「AutoColorRows」を選択 - 「実行」ボタンを押す
✅ 結果:
売上額が100以上の行が緑色に、100未満の行が赤色になります。
✅ 動的な色付けをVBAで設定(ボタンを作成)
VBAをボタンに設定すると、1クリックで色付けを適用できます。
手順
- 「開発」タブ → 「挿入」 → 「ボタン(フォームコントロール)」
- ボタンをシートに配置し、「AutoColorRows」マクロを選択
- ボタンをクリックすると自動で色付けが適用
行の自動色付けの注意点
✅ 条件付き書式の設定順番
- ルールの順番によって適用が変わるので、「ルールの管理」から並び順を調整。
✅ パフォーマンスの影響
- 大量のデータ(10,000行以上)にはVBAの方が処理が速い。
✅ VBAの適用後に書式クリア
- 変更をリセットしたい場合、以下のVBAを実行
Sub ClearColor()
Cells.Interior.ColorIndex = xlNone
End Sub
まとめ
Excelで行を条件に当てはめて色付けする方法には、大きく分けて条件付き書式とVBAの2つの方法があります。
✅ おすすめの方法
方法 | メリット | デメリット |
---|---|---|
条件付き書式 | 設定が簡単・即反映 | 大量データに弱い |
VBA | 大量データに対応・高度な自動化 | 初心者には少し難しい |
🔹 初心者なら「条件付き書式」がおすすめ
🔹 大量データや高度な自動化には「VBA」がおすすめ