Why not simply loop through all the cross-references? For example:
Code:
Sub Demo()
Dim Fld As Field, StrWrd As String
StrWrd = InputBox("Input the string to find")
With ActiveDocument
For Each Fld In .Fields
With Fld
If .Type = wdFieldRef Then
If InStr(.Result, StrWrd) > 0 Then
MsgBox StrWrd & " can be found in a field"
Exit Sub
End If
End If
End With
Next
End With
End Sub
There are also far more efficient ways of finding coloured text...