That is not entirely clear to me. If it is that you want to use AutoFilter to hide any cell that are coloured and just show the non-coloured cells, then starting with this sampleI want to filter by non fill cells background (only colored cells)
22 02 24.xlsm | |||
---|---|---|---|
A | |||
1 | Header | ||
2 | a | ||
3 | b | ||
4 | c | ||
5 | d | ||
6 | e | ||
Sheet2 (2) |
Sub FilterNoColour()
Range("A1:A7").AutoFilter Field:=1, Operator:=xlFilterNoFill
End Sub
22 02 24.xlsm | |||
---|---|---|---|
A | |||
1 | Header | ||
2 | a | ||
4 | c | ||
6 | e | ||
Sheet2 (2) |
22 02 24.xlsm | ||||||
---|---|---|---|---|---|---|
A | B | C | D | |||
1 | Hdr1 | Hdr2 | Hdr3 | |||
2 | Data 1 | a | abc | |||
3 | Data 2 | b | def | |||
4 | Data 3 | c | ||||
5 | Data 4 | d | ||||
6 | Data 5 | e | mno | |||
7 | ||||||
Filter Colour |
Sub FilterColour()
Dim c As Range
Dim b As Variant
Dim i As Long
With Range("A1:D" & Range("A" & Rows.Count).End(xlUp).Row)
ReDim b(1 To .Rows.Count, 1 To 1)
b(1, 1) = "Has Colour"
For i = 2 To .Rows.Count
If .Cells(i, 2).DisplayFormat.Interior.Color <> 16777215 Then b(i, 1) = "Y"
Next i
.Columns(.Columns.Count).Value = b
.AutoFilter Field:=.Columns.Count, Criteria1:="Y"
End With
End Sub
22 02 24.xlsm | ||||||
---|---|---|---|---|---|---|
A | B | C | D | |||
1 | Hdr1 | Hdr2 | Hdr3 | Has Colour | ||
3 | Data 2 | b | def | Y | ||
5 | Data 4 | d | Y | |||
7 | ||||||
Filter Colour |