いいですね!ここでは 複数ブックにまたがって条件付きで書式を自動設定する VBAの例を紹介します。ポイントは「開いている複数のブックをループし、セルの値を判定して条件に応じて書式を変える」ことです。
基本例:負の数なら赤背景、正の数なら緑背景
Sub 複数ブックで条件付き書式()
Dim wb As Workbook
Dim ws As Worksheet
Dim c As Range
' 開いているすべてのブックを対象
For Each wb In Application.Workbooks
' このブック自身を除外したい場合は条件を追加
If wb.Name <> ThisWorkbook.Name Then
For Each ws In wb.Worksheets
' 各シートの対象範囲を指定(例: A2:A10)
For Each c In ws.Range("A2:A10")
If IsNumeric(c.Value) Then
If c.Value < 0 Then
c.Interior.Color = RGB(255, 200, 200) ' 赤系
c.Font.Color = RGB(200, 0, 0) ' 文字も赤
Else
c.Interior.Color = RGB(200, 255, 200) ' 緑系
c.Font.Color = RGB(0, 100, 0) ' 文字も緑
End If
End If
Next c
Next ws
End If
Next wb
End Sub
VB👉 開いているすべてのブックのA2~A10をチェックし、負の数は赤背景+赤文字、正の数は緑背景+緑文字に自動設定します。
応用例1:特定ブックだけ対象にする
Sub 特定ブックに条件付き書式()
Dim wb As Workbook
Dim ws As Worksheet
Dim c As Range
For Each wb In Application.Workbooks
If wb.Name = "SalesData.xlsx" Or wb.Name = "Budget.xlsx" Then
For Each ws In wb.Worksheets
For Each c In ws.Range("B2:B20")
If IsNumeric(c.Value) Then
If c.Value >= 100 Then
c.Interior.Color = RGB(200, 200, 255) ' 青系
Else
c.Interior.Color = RGB(255, 255, 150) ' 黄色系
End If
End If
Next c
Next ws
End If
Next wb
End Sub
VB👉 「SalesData.xlsx」と「Budget.xlsx」だけを対象に、値が100以上なら青、未満なら黄色に。
応用例2:複数条件を組み合わせる
Sub 複数条件で書式設定_複数ブック()
Dim wb As Workbook
Dim ws As Worksheet
Dim c As Range
For Each wb In Application.Workbooks
If wb.Name <> ThisWorkbook.Name Then
For Each ws In wb.Worksheets
For Each c In ws.Range("C2:C10")
If IsNumeric(c.Value) Then
Select Case c.Value
Case Is < 0
c.Interior.Color = RGB(255, 150, 150) ' 赤
Case 0
c.Interior.Color = RGB(255, 255, 150) ' 黄
Case Is > 100
c.Interior.Color = RGB(150, 200, 255) ' 青
Case Else
c.Interior.Color = RGB(200, 255, 200) ' 緑
End Select
End If
Next c
Next ws
End If
Next wb
End Sub
VB👉 複数ブックにまたがって「負=赤」「0=黄」「100以上=青」「その他=緑」の条件付き書式を自動設定します。
ポイント
- 複数ブックをループ →
For Each wb In Application.Workbooks - 特定ブックだけ対象 →
If wb.Name = "Book1.xlsx"のように条件を追加 - 複数条件 →
IfやSelect Caseを使うとわかりやすい - 書式設定 →
.Interior.Color(背景色)、.Font.Color(文字色)、.Font.Bold(太字)などを組み合わせる
練習課題
- 開いているすべてのブックの「B列」を対象にして、負の数は赤背景、100以上は青文字にする
- 特定ブックだけを対象にして、0なら黄色、正の数なら緑にする
- 複数条件を組み合わせて「負=赤」「0=黄」「正=緑」「100以上=青」にする
こうした仕組みを作ると、複数ブックにまたがって条件付きで書式を自動設定する便利ツールが完成します。

