Perhaps this way if I have not made some mistake:
Sub ColorDifCells()
Signs = Array("=", "-", "+", "*", "/", "*")
For Each Cell In ActiveSheet.UsedRange
CF = Cell.Formula
Cell.Font.Color = vbBlack
If Not Cell.HasFormula Then
Cell.Font.Color = vbBlue
ElseIf InStr(1, CF, "!") Then
Cell.Font.Color = vbGreen
Else:
For I = 2 To Len(CF)
For J = LBound(Signs) To UBound(Signs)
If IsNumeric(Mid$(CF, I, 1)) And Mid$(CF, I - 1, 1) = Signs(J) Then _
Cell.Font.Color = vbRed: GoTo NextCell
Next J
Next I
End If
NextCell:
Next
End Sub
'Blue - Hard-coded values (numbers)
'Black -Formulas
'Red - Formulas with constant in them (for e.g. =sum(a2:a5)+1, a2*3.. etc)
'Green - References from another worksheet / workbook
Regards
PB