By C.K. MacLeod
Updated July 30, 2015
Thanks to Eliza Dee for suggesting a tweak that makes this macro even better (see the comments below for details)! The macro script has been updated.
Adverse or averse? Assent or ascent? English contains many words that are easily confused—words that sound the same, but have different meanings and spellings.
Tackle potential confusables when it’s time to edit your writing. The macro below will highlight commonly confused words in just minutes. After you run the macro, check the highlighted words to see if you’ve used them correctly. Refer to this list to look up any words you’re unsure of.
Tip for editors: use this macro to make potential confusables stand out during a first pass.
Quick Steps
- Copy and paste the macro into Word’s VBA.
- Run the macro on your writing.
- Remove highlighting from words as you check them.
Sub Confusables()
‘ Highlights confusables
‘
‘ Written by Roger Mortis, revised Subcortical, Jami Gold, C.K. MacLeod and Eliza Dee; word list, Commonly Confused Words by Oxford Dictionaries http://www.oxforddictionaries.com/words/commonly-confused-words
‘
Dim range As range
Dim i As Long
Dim TargetList
TargetList = Array(“accept”, “except”, “adverse”, “averse”, “advice”, “advise”, “affect”, “effect”, “aisle”, “isle”, “altogether”, “all together”, “along”, “a long”, “aloud”, “allowed”, “altar”, “alter”, “amoral”, “immoral”, “appraise”, “apprise”, “assent”, “ascent”, “aural”, “oral”, “awhile”, “a while”, “balmy”, “barmy”, “bare”, “bear”, “bated”, “baited”, “bazaar”, “bizarre”, “birth”, “berth”, “born”, “borne”, “bow”, “bough”, “break”, “brake”, “broach”, “brooch”, “canvas”, “canvass”, “censure”, “censor”, “cereal”, “serial”, “chord”, “cord”, “climactic”, “climatic”, “coarse”, “course”)
For i = 0 To UBound(TargetList)
Set range = ActiveDocument.range
With range.Find
.Text = TargetList(i)
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = True
Do While .Execute(Forward:=True) = True
range.HighlightColorIndex = wdViolet
Loop
End With
Next
Dim TargetList1
TargetList1 = Array(“complacent”, “complaisant”, “complement”, “compliment”, “council”, “counsel”, “cue”, “queue”, “curb”, “kerb”, “currant”, “current”, “defuse”, “diffuse”, “desert”, “dessert”, “discreet”, “discrete”, “disinterested”, “uninterested”, “draught”, “draft”, “draw”, “drawer”, “duel”, “dual”, “elicit”, “illicit”, “ensure”, “insure”, “envelop”, “envelope”, “exercise”, “exorcise”, “fawn”, “faun”, “flair”, “flare”, “flaunt”, “flout”, “flounder”, “founder”, “forbear”, “forebear”, “forward”, “foreword”, “freeze”, “frieze”, “grisly”, “grizzly”, “hoard”, “horde”, “imply”, “infer”, “loathe”, “loath”)
For i = 0 To UBound(TargetList1)
Set range = ActiveDocument.range
With range.Find
.Text = TargetList1(i)
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = True
Do While .Execute(Forward:=True) = True
range.HighlightColorIndex = wdViolet
Loop
End With
Next
Dim TargetList2
TargetList2 = Array(“lose”, “loose”, “meter”, “metre”, “militate”, “mitigate”, “palate”, “palette”, “pedal”, “peddle”, “poll”, “pole”, “pour”, “pore”, “practice”, “practise”, “prescribe”, “proscribe”, “principle”, “principal”, “sceptic”, “septic”, “sight”, “site”, “stationary”, “stationery”, “story”, “storey”, “titillate”, “titivate”, “tortuous”, “torturous”, “wreath”, “wreathe”)
For i = 0 To UBound(TargetList2)
Set range = ActiveDocument.range
With range.Find
.Text = TargetList2(i)
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = True
Do While .Execute(Forward:=True) = True
range.HighlightColorIndex = wdViolet
Loop
End With
Next
End Sub
After you’ve addressed each highlighted word, use Paul Beverley’s free UnHighlight macro to remove highlights, one instance at a time.
Not sure what a macro is? See this post for an explanation.
Learn how to use macros with this free 20-minute macro course. You can run macros in Microsoft Word or WPS Writer (pro version).
*The lists of words in this macro are from the Oxford Dictionaries website.
Image by Dvortygirl