Te anexo la macro. Si la tabla dinámica no contiene el color, no realizará filtro sobre esa tabla, esto es porque la tabla debe tener al menos un item mostrado, entonces solamente sobre las tablas que contengan el color.
Cambia en la macro "color" en esta línea, por el nombre de la columna que contiene los colores
For Each dato In td.PivotFields("color").PivotItems
Sub Macro2()
'Por Dante Amor
'Filtra las tablas de una hoja
'
Dim td As PivotTable
wcolor = Range("E2").Value
Application.ScreenUpdating = False
For Each td In ActiveSheet.PivotTables
td.ClearAllFilters
Set b = ActiveSheet.Range(td.TableRange1.Address).Find(wcolor, lookat:=xlWhole)
If Not b Is Nothing Then
For Each dato In td.PivotFields("color").PivotItems
If dato.Value <> wcolor Then dato.Visible = False
Next
End If
Next
Application.ScreenUpdating = True
End Sub
.
.