You could use a worksheet_change event:
rightclick on the worksheet tab that should have this behavior. Select View
code and paste this in the code window.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myColor As Long
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range("a:a")) Is Nothing Then Exit Sub
Select Case LCase(Target.Value)
Case Is = "val 1": myColor = 34
Case Is = "val 2": myColor = 33
Case Is = "val 3": myColor = 32
Case Is = "val 4": myColor = 31
Case Else
myColor = xlNone
End Select
Target.Interior.ColorIndex = myColor
End Sub
Adjust the colors to what you want. Add as many tests as you need. And adjust
the range (I used column A).
If you're new to macros, you may want to read David McRitchie's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
And if you want to learn more about what events are:
Chip Pearson has some notes about events at:
http://www.cpearson.com/excel/events.htm
David McRitchie also has notes at:
http://www.mvps.org/dmcritchie/excel/event.htm