エクセルマクロで、オートフィルタで複数色を絞るVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
オートフィルタで複数色を絞る
以下のマクロを実行すると、配列を使用して複数の色をフィルターで絞り込みします。
Sub オートフィルタで複数の色を抽出()
Dim LastRow As Long
Dim i As Long
Dim j As Long
Dim Target As String
Dim myAry As Variant
Dim Target_Char As String
'最終行取得
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
j = 1
'配列宣言
myAry = Array()
'最終行から先頭へループ
For i = 1 To LastRow
'セルの色を取得
Target = Cells(i, 1).Interior.Color
'セルの文字列を取得
Target_Char = Cells(i, 1).Value
'セルの色によって分岐
If Target = 65535 Or Target = 15773696 Or Target = 5287936 Then
'配列の要素数を宣言
ReDim Preserve myAry(j)
'該当セルの文字列を配列へ格納
myAry(j) = Target_Char
j = j + 1
End If
Next
'オートフィルタで該当データを抽出
Range("A1").AutoFilter field:=1, Criteria1:=myAry, Operator:=xlFilterValues
End Sub
マクロ実行後
A列の背景色を判定し、該当色のデータのみフィルターで抽出します。
ポイントは、重複データがない列の背景色を判定させることです。
例えば、重複データがあるC列で色判定すると、色なしのデータも抽出されてしまいます。
この記事がお役に立ちますと幸いです。

【エクセルマクロ】オートフィルタ処理を自動化:超便利25選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク