Private Sub Worksheet_Change(ByVal Target As Range)
Dim TVALS, TCOLS
TVALS = Array("RH", "TP", "CR", "AVI", "VIAN", "DIET")
TCOLS = _
Array(Array(15, vbBlack), Array(48, vbWhite), _
Array(4, RGB(255, 0, 0)), Array(6, vbMagenta), _
Array(7, vbYellow), Array(10, vbWhite))
On Error Resume Next
With Target
.Interior.ColorIndex = TCOLS(Application.Match(.Value, TVALS, 0) - 1)(0)
.Font.Color = TCOLS(Application.Match(.Value, TVALS, 0) - 1)(1)
End With
End Sub