Private Sub Worksheet_Change(ByVal Target As Range)
Dim n As Integer
If Not Intersect(Target, Range("D1:D20")) Is Nothing Then
For n = 1 To Len(Target)
If Not (IsNumeric(Mid(Target, n, 1))) Then
Target.Characters(n, 1).Font.Color = Target.Interior.Color
End If
Next n
End If
End Sub