Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, coul
If Intersect(Target, [A2]) Is Nothing Then Exit Sub
If [A2] = "" Then Rows.Hidden = False: Exit Sub
Set r = Intersect(UsedRange, Rows("5:" & Rows.Count))
If r Is Nothing Then Exit Sub
coul = Switch([A2] = "A", 255, [A2] = "B", 12611584, [A2] = "C", 5287936)
Application.ScreenUpdating = False
r.EntireRow.Hidden = True
For Each r In r
If r <> "" Then If r.Font.Color = coul Then r.EntireRow.Hidden = False
Next
End Sub