【エクセルマクロ】オートフィルタで複数色を絞る:自動化で時短

ExcelVBA-オートフィルタ複数色で絞り込み-アイキャッチ エクセルマクロで効率化する

エクセルマクロで、オートフィルタで複数色を絞る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列で色判定すると、色なしのデータも抽出されてしまいます。

 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】オートフィルタ処理を自動化:超便利19選
...

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載