Sub prcApplyAutoFilterAndColor()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long
Dim visibleCells As Range
' シートの設定
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
' 既存のフィルタを解除
If .AutoFilterMode Then .AutoFilterMode = False
' データ範囲の設定(A列の最終行を基に)
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Set rng = .Range("A1:C" & lastRow)
' オートフィルタの設定: A列=空白, B列="あいう"
rng.AutoFilter Field:=1, Criteria1:=""
rng.AutoFilter Field:=2, Criteria1:="あいう"
' 抽出されたレコードのC列の背景色を赤に設定
On Error Resume Next
Set visibleCells = rng.Offset(1, 0).Resize(rng.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Columns(3)
On Error GoTo 0
If Not visibleCells Is Nothing Then
visibleCells.Interior.Color = 16711680 ' 赤色に設定
End If
End With
End Sub
コメント