Highlight Passive Voice (and Be-Verbs in General) Instantly in Your Microsoft Word Docs

I have a thing about be-verbs—am, is, are, was, were, be, being, been—which, among other things, often signal passive voice. You may have heard me suggest using your word processor’s Find function to search for be-verbs when you edit. (This idea came from someone who attended one of my workshops. Thank you!)

Now you can one-up that technique. Dina Taylor, a colleague of mine, has created a macro that instantly highlights almost all be-verbs in a Microsoft Word document.* How have I lived without this macro all these years? (A macro is simply a bit of code that automates something that would otherwise require manual repetition.)

Why bother? After a friend ran this be-verb macro on a “be-hemoth” report, she had this to say in a Facebook comment:

This works! Glory be — I mean hooray! (I can’t believe how many be‘s it found in my draft board report.) I had to take a different path to create a macro but it’s in there now! It made a huge difference.

—Anne Reed

Anne even created her own Facebook post sharing this Word macro, saying that this macro will help “declutter your work in ways you had no idea you needed.”

Quick refresher on passive voice:
It’s a be-verb (am, are, were, is, etc.)
+ a past participle (-ed or -n verb):
“The ball was thrown.”
Passive is not wrong or bad.
Use it as needed.
The other 99% of the time, use active voice:
“I threw the ball.”

Want to try this macro for yourself? Follow the instructions below. Don’t worry—you don’t have to know anything about macros or code, and it takes just a couple of minutes.

First, some thoughts:

  • Running this macro in a long document may yield hundreds of margin comments. I don’t know of a way to dismiss them in batches. Prepare to make a slew of edits. Your readers will thank you. 
  • Don’t feel obligated to ditch all your be-verbs. They flag opportunity; they aren’t evil. There, I just said aren’t. (I did so to put the emphatic word—evil—at the end of the sentence. That’s a whole nuther writing strategy.)
  • For more of my thoughts on be-verbs, including times that they come in handy, see “To Be or Not To Be.”
  • I’ve tested these instructions on a Mac. You may discover differences on a PC.

After you run the macro using the following the instructions, your doc highlights the be-verbs, looking something like this:

Create the macro

If these instructions don’t match your version of Word, you can probably find the steps you need online. Anne says, “My version of Word uses a different path to create a macro, but the cut-and-paste still worked perfectly once I got there.”

  1. Open Word. Close any open Word documents.
  2. In Word, open Visual Basic Editor (ToolsMacroVisual Basic Editor).
  3. Go to InsertModule. A blank document opens.
  4. Copy the macro (below), paste it into the blank document, and close Visual Basic Editor. Word automatically saves the macro.

Run the macro

  1. Open Word, and draft your document or paste in text from another application.
  2. Open the Macros dialog (Tools Macro Macros).
  3. Select CommentBeVerbs.
  4. Select Run. Word instantly highlights every be-verb in the doc, adding the margin comment for each one.

The macro

The macro comprises everything in the box below, from Sub to End Sub. (The lines of text in this box may not wrap on your screen. To see all the text, use the horizontal scroll bar at the bottom of the box.)

Optional: Edit the comment text—the phrase in quotation marks near the end of the macro. Every time you run the macro, this text appears as a margin comment with each be-verb found.

Sub CommentBeVerbs()
    '
    ' CommentBeVerbs Macro
    '
    ' Adds a comment for each be-verb found in a document.
    '
    Dim range As range
    Dim i As Long
    Dim BeVerbsList
 
    BeVerbsList = Array("are", "is", "was", "were", "am", "be", "being", "been", "^u8217m", "^u8217re", "it^u8217s", "she^u8217s", "he^u8217s", "^u8216m", "^u8216re", "it^u8216s", "she^u8216s", "he^u8216s", "^u39m", "^u39re", "it^u39s", "she^u39s", "he^u39s")
  
    For i = 0 To UBound(BeVerbsList)
 
        Set range = ActiveDocument.range
 
        With range.Find
          .Text = BeVerbsList(i)
          .Format = True
         .MatchCase = False
         .MatchWholeWord = True
         .MatchWildcards = False
          .MatchSoundsLike = False
         .MatchAllWordForms = False
 
            Do While .Execute(Forward:=True) = True
               ActiveDocument.Comments.Add range, "Consider rephrasing: tighten, clarify, use a stronger verb, combine sentences, bust up this sentence, etc."
            Loop
 
        End With
    Next
End Sub

Like this macro? Try this one too.

If you like this macro, you might also like the one I describe here: Find Long Sentences Instantly in Your Microsoft Word Docs.

Let me know about your macro adventures!


Nerd alert 1:
If you ever want to encode straight and curly apostrophes in a Word macro, as I’ve done above, save yourself some trouble and use their Unicode decimal codes—39, 8216, and 8217—not their Unicode hex codes.

Nerd alert 2:
In a comment on Anne’s Facebook post, referred to above, Alex Willis notes that if you have other writing tics that you want to monitor, you can add them to the BeVerbsList array line: BeVerbsList = Array(“are”, “is”, “was”, “were”, “am”, “be”, “being”, “been”, “^u8217m”, “^u8217re”, “it^u8217s”, “she^u8217s”, “he^u8217s”, “^u8216m”, “^u8216re”, “it^u8216s”, “she^u8216s”, “he^u8216s”, “^u39m”, “^u39re”, “it^u39s”, “she^u39s”, “he^u39s”).

*Nerd alert 3:
You might wonder why this macro highlights apostrophe+s only in she’s, he’s, and it’s. I chose to ignore apostrophe+s in other cases since the macro can’t tell a possessive (“that flower’s petals”) from a contraction (“that flower’s bright). That’s why I say that this macro finds “almost all” be-verbs. At the same time, since the macro always highlights she’s, he’s, and it’s, it incorrectly highlights some has contractions (“He’s had it”). What’s a language lover to do but treat these edge cases like sleeping dogs and let them lie?

7 thoughts on “Highlight Passive Voice (and Be-Verbs in General) Instantly in Your Microsoft Word Docs

  1. Hi Marcia

    You can do pretty much the same as this using a standard find. Open the Find and Replace dialog (Ctrl+H), then switch to the Find tab. Type ‘be’ (without the quotes) into the ‘Find what’ field. Click More, and select the ‘Find all word forms (English)’ checkbox. Click Find Next and repeat.

  2. Suwhat version of Word are the directions for? I have 2013. Maybe I’m too MS Word illiterate.

  3. Hi, Alice. Thanks for taking time to comment. I’m sure that you have plenty of MS Word literacy. I don’t know if the steps for creating macros vary from one version of Word to another. If the instructions in this blog post don’t match your interface (menu names, etc.), you may find instructions online that work for you. At least the macro itself (in the box above) should work in any version of Word.

  4. Hi, Rhonda. Nice to see your face here again. You commented before the ink had time to dry.

    Yes, Word’s Find function gives you a way to pop through the be-verbs one at a time. I would need a checklist, though, to get through all the variations—be, is, am, are, were, being, been, she’s, I’m, they’re, etc.

    I like that the macro finds all the variations instantly (with exceptions—see nerd alert 3 at the end of the post).

    P.S. I owe it to your comment that I even thought of the issue noted in nerd alert 3: contractions vs. possessives. Only as I formulated my response to your comment did I tweak the macro and add nerd alert 3. Thank you for the stimulating conversation.

  5. Thanks. But I can only type my MS in word. There is a macros but it wants me to name the it, and I don’t know what the html is for the title of a new macro. Its okay. I can figure it out. I bookmarked this post.

  6. In Word 2016 on a PC, you’ll find the Macros dialog at Developer > Macros.

    To create the macro, fill in the macro name at the top and click Create to open the Visual Basic Editor.

    To run the macro, go back to Developer > Macros, select the macro, and click Run.

    The results are (Consider rephrasing!) eye-opening.

Comments are closed.