This will be much faster than so many If...Then's. A Select Case ends when any match is found. Checking only for "Less Than" is twice as fast as checking for "between"
For L = 1 To .Characters.Count
Select Case AscW(.Characters(L))
Case < 48 'do nothing
Case < 58 '0-9
With .Characters(L)
.Font.Color = vbRed
.LanguageID = msoLanguageIDEnglishUS
End With
Case < 65 'do nothing
Case < 91 'A-Z
With .Characters(L)
.Font.Color = vbRed
.LanguageID = msoLanguageIDEnglishUS
End With
Case < 97 'do nothing
Case < 123 'a-z
With .Characters(L)
.Font.Color = vbRed
.LanguageID = msoLanguageIDEnglishUS
End With
Case <173 'do nothing
Case 173 '®
With .Characters(L)
.Font.Color = vbRed
.LanguageID = msoLanguageIDEnglishUS
End With
Case < 8482 'do nothing
Case 8482 '™
With .Characters(L)
.Font.Color = vbRed
.LanguageID = msoLanguageIDEnglishUS
End With
Case Else 'do nothing
End Select
Next L