
上記のサンプルデータをもとに解説を行っていきます
条件に一致した行を黄色で塗りつぶしを行う
下記のサンプルコードはB列のカテゴリが『カテゴリA』の行のみを黄色で塗りつぶしを行っています。
2行目から最終行までループし、IF文で条件分岐を行います。
サンプルコード
Sub カテゴリA塗りつぶし()
Dim i As Long, LastRow As Long
'A列で最終行を取得する
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
'2行目から最終行までループ
For i = 2 To LastRow
'カテゴリAの場合黄色で塗りつぶし
If Cells(i, "B").Value = "カテゴリA" Then
'A列からF列を黄色で塗りつぶす
Range(Cells(i, "A"), Cells(i, "F")).Interior.Color = RGB(255, 255, 0)
End If
Next i
MsgBox "塗りつぶしが完了しました", vbInformation, "塗りつぶし完了"
End Sub
実行結果
カテゴリAのみ塗りつぶしが行えました。

ワイルドカードで条件をあいまいに設定する
ワイルドカードを使用して、ステータスの『アクティブ』という文字が含まれている箇所のみを黄色で塗りつぶしを行います。 ワイルドカードの説明に関しては、こちらの記事を参考にしてください。
サンプルコード
Sub ワイルドカードで条件をあいまいに設定()
Dim i As Long, LastRow As Long
'A列で最終行を取得する
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
'2行目から最終行までループ
For i = 2 To LastRow
'ステータスに「アクティブ」という文字が含まれていた場合、黄色で塗りつぶします
If Cells(i, "C").Value Like "*アクティブ*" Then
'A列からF列を黄色で塗りつぶす
Range(Cells(i, "A"), Cells(i, "F")).Interior.Color = RGB(255, 255, 0)
End If
Next i
MsgBox "塗りつぶしが完了しました", vbInformation, "塗りつぶし完了"
End Sub
実行結果
ステータスに『アクティブ』という文字が含まれている行のみが塗りつぶされました。

複数の条件が一致した行を黄色で塗りつぶす
カテゴリが『カテゴリA』かつステータスが『非アクティブ』となっている行を黄色で塗りつぶしを行います。
複数条件を指定する際はIF文に『And』もしくは『Or』を使用します。
例)Aが1の時かつBが2の時とする場合のIF文
> If A = 1 And B = 2 Then
例)Aが1の時またはBが2の時とする場合のIF文
> If A = 1 Or B = 2 Then
下記のサンプルコードではAndを使用した例です。
サンプルコード
Sub 複数条件一致()
Dim i As Long, LastRow As Long
'A列で最終行を取得する
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
'2行目から最終行までループ
For i = 2 To LastRow
'B列のカテゴリが「カテゴリA」の場合かつ、C列のステータスが「非アクティブ」の場合、黄色で塗りつぶしを行う
If Cells(i, "B").Value = "カテゴリA" And Cells(i, "C").Value = "非アクティブ" Then
'A列からF列を黄色で塗りつぶす
Range(Cells(i, "A"), Cells(i, "F")).Interior.Color = RGB(255, 255, 0)
End If
Next i
MsgBox "塗りつぶしが完了しました", vbInformation, "塗りつぶし完了"
End Sub
実行結果
カテゴリが「カテゴリA」かつステータスが「非アクティブ」の箇所のみ、黄色で塗りつぶしが行われました。
