例えば、とてもシンプルにざっくり書くと、
おそらくこんな感じになるのではと思います。。
Sub CheckNG()
Set re = CreateObject("VBScript.RegExp")
NGWord = "吾輩|猫|である|名|私達|貴方|人|方|皆さん|先生|教師"
NGWord = NGWord & "|下さい|銀行|郵便局|図書館|美術館|今|時|分|半"
NGWord = NGWord & "|食べます|見ます|朝ご飯|昼ご飯|晩ご飯|卵" '......
re.Pattern = NGWord
're.Pattern = MakeNGList()
re.Global = True
For Each target In Range("A1:B30")
Set mc = re.Execute(target)
For Each m In mc
target.Characters(m.FirstIndex + 1, m.Length).Font.Color = vbRed
Next
Next
End Sub
Function MakeNGList() As String
For Each msg In Range("'[NGWord.xlsx]Sheet1'!D1:D100")
If msg <> "" Then
temp = msg & "|" & temp
End If
Next
MakeNGList = temp
End Function
Like!