This will do it:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim WatchRange As Range
Dim CellVal As Integer
For Each targ In Target.Cells
If targ = "" Or Not IsNumeric(targ) Then Exit Sub
CellVal = targ
Set WatchRange = Range("A1:c52")
If Not Intersect(targ, WatchRange) Is Nothing Then
Select Case CellVal
Case 0
targ.Interior.ColorIndex = 5
Case 1
targ.Interior.ColorIndex = 10
Case 2
targ.Interior.ColorIndex = 6
Case 3
targ.Interior.ColorIndex = 46
Case 4
targ.Interior.ColorIndex = 45
Case 5
targ.Interior.ColorIndex = 5
Case 6
targ.Interior.ColorIndex = 10
Case 7
targ.Interior.ColorIndex = 6
Case 8
targ.Interior.ColorIndex = 46
Case 9
targ.Interior.ColorIndex = 45
End Select
End If
Next targ
End Sub