条件付き書式では、セル単体だけでなく行全体を強調表示することも可能です。
VBAで数式を使う場合、対象セルをうまく相対参照にすることで「行全体」を判定できます。
1. 行全体を対象にするポイント
- 対象範囲を行全体に広げる
例:Range("A2:D10")
のように複数列を選択する - 条件式は基準列だけを参照する
例:=$B2="未処理"
のように絶対参照$B
と行相対参照2
を組み合わせる
このようにすることで「B列が未処理の行」を条件にして、範囲全体に書式が適用されます。
2. VBAコード例
Sub 行全体を強調する条件()
Dim rng As Range
Set rng = Range("A2:D10") '対象範囲(行全体をカバーする)
'条件:B列が「未処理」の場合
rng.FormatConditions.Add _
Type:=xlExpression, _
Formula1:="=$B2=""未処理"""
'書式:背景を灰色
rng.FormatConditions(1).Interior.Color = RGB(200, 200, 200)
End Sub
3. ポイント解説
=$B2="未処理"
の書き方$B
→ 列を固定(常にB列を参照)2
→ 行番号は相対参照(各行ごとに判定される)
- 範囲指定の工夫
Range("A2:D10")
のように複数列を含めることで「行全体」を強調できる- 列を広めに取れば、見やすい表全体に書式が反映される
- 文字列条件の書き方
- 文字列は
=""未処理""
のように二重引用符で囲む必要があります
- 文字列は
4. 応用例
- 「C列が100未満なら行全体を赤」
Formula1:="=$C2<100"
- 「D列が空欄なら行全体を黄色」
Formula1:="=$D2="""""
5. まとめ
- 行全体に条件付き書式を適用するには、範囲を広めに指定する
- 条件式では「基準列を絶対参照」「行番号は相対参照」にする
- これにより「B列が未処理なら行全体を灰色」といった見やすい表管理が可能になる
コメント