【VBA】行全体を強調する条件式の書き方(例:B列が「未処理」なら行全体を灰色)

条件付き書式では、セル単体だけでなく行全体を強調表示することも可能です。
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. ポイント解説

  1. =$B2="未処理" の書き方
    • $B → 列を固定(常にB列を参照)
    • 2 → 行番号は相対参照(各行ごとに判定される)
  2. 範囲指定の工夫
    • Range("A2:D10") のように複数列を含めることで「行全体」を強調できる
    • 列を広めに取れば、見やすい表全体に書式が反映される
  3. 文字列条件の書き方
    • 文字列は =""未処理"" のように二重引用符で囲む必要があります

4. 応用例

  • 「C列が100未満なら行全体を赤」Formula1:="=$C2<100"
  • 「D列が空欄なら行全体を黄色」Formula1:="=$D2="""""

5. まとめ

  • 行全体に条件付き書式を適用するには、範囲を広めに指定する
  • 条件式では「基準列を絶対参照」「行番号は相対参照」にする
  • これにより「B列が未処理なら行全体を灰色」といった見やすい表管理が可能になる

コメント

タイトルとURLをコピーしました