Updated code:
Sub tgr()
Dim wsData As Worksheet
Dim wsAllowed As Worksheet
Dim rngData As Range
Dim rngAllowed As Range
Dim DataCell As Range
Dim varWord As Variant
Dim strWord As String
Set wsData = Sheets("Sheet1")
Set rngData = wsData.Range("A2", wsData.Cells(Rows.Count, "A").End(xlUp))
If rngData.Row < 2 Then Exit Sub 'No data
Set wsAllowed = Sheets("Allowed Words")
Set rngAllowed = wsAllowed.Range("A2", wsAllowed.Cells(Rows.Count, "A").End(xlUp))
If rngAllowed.Row < 2 Then Exit Sub 'No data
rngData.Font.Color = vbBlack
For Each DataCell In rngData.Cells
For Each varWord In Split(WorksheetFunction.Trim(DataCell.Text), " ")
strWord = varWord
If Not (Asc(UCase(Right(strWord, 1))) > 64 And Asc(UCase(Right(strWord, 1))) < 91) Then strWord = Left(strWord, Len(strWord) - 1)
If WorksheetFunction.CountIf(rngAllowed, strWord) = 0 Then DataCell.Characters(InStr(1, DataCell.Text, strWord, vbTextCompare), Len(strWord)).Font.Color = vbRed
Next varWord
Next DataCell
Set wsData = Nothing
Set wsAllowed = Nothing
Set rngData = Nothing
Set rngAllowed = Nothing
Set DataCell = Nothing
End Sub
Bookmarks