Written by Allen Wyatt (last updated October 3, 2022)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, and 2021
Bruce is looking for some way to have Word automatically mark long sentences in a document. For instance, he may want to have those sentences with more than 20 words marked in some color so that they are easily located.
Fortunately, Word maintains a Sentences collection, accessible through VBA, that consists of each sentence in a document. You can examine each item in this collection (each individual sentence) to determine if it is longer than your desired length. The following macro provides an example of how this is done.
Sub Mark_Long() Dim iMyCount As Integer Dim iWords As Integer If Not ActiveDocument.Saved Then ActiveDocument.Save End If 'Reset counter iMyCount = 0 'Set number of words iWords = 20 For Each MySent In ActiveDocument.Sentences If MySent.Words.Count > iWords Then MySent.Font.Color = wdColorRed iMyCount = iMyCount + 1 End If Next MsgBox iMyCount & " sentences longer than " & _ iWords & " words." End Sub
Notice that each sentence is examined, and if it is longer than the desired length (defined by the variable iWords) then the sentence is changed to a red font color. This makes it easy to examine the document and discover which sentences exceed the length you specified.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (11909) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and 2021. You can find a version of this tip for the older menu interface of Word here: Finding Long Sentences.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 365 applications with VBA programming. Written in clear terms and understandable language, the book includes systematic tutorials and contains both intermediate and advanced content for experienced VB developers. Designed to be comprehensive, the book addresses not just one Office application, but the entire Office suite. Check out Mastering VBA for Microsoft Office 365 today!
Got a document layout that requires a portion of the page to be in one layout and another portion to be in a different ...
Discover MoreThere are many rules in English grammar (and many exceptions to those rules.) One common rule of grammar is to capitalize ...
Discover MoreSometimes typing isn't straight typing. Sometimes you need to perform special tasks, such as putting dashes between ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2021-09-10 09:16:26
Ken Blair
Thank, KE. I'll work on getting the results into an array so I can place in a document.
2021-09-09 04:19:16
KE
To Ken Blair
The following example searches for the text "mytext", selects the surrounding sentence and displays the text of the sentence in a message box.
Sub SentenceContainingFind()
With Selection.Find
.ClearFormatting
.Execute findtext:="mytext"
End With
Selection.Sentences(1).Select
MsgBox Selection.Range.Text
End Sub
2021-09-08 14:59:19
Ken Blair
Alan,
What does Word use to demarc the sentences? I have a need to modify your VBA to search for a certain word's occurrence and then extract the sentence that contains it. Knowing the demarcs might make that an easier process.
2021-09-07 13:10:41
MZ
Using MS Word 2019 and the above macro, but it is miscounting the words. It appears that it is also counting punctuation as its own word (and maybe format codes too). This creates too many false markups. Any way to have Words.Count number match the MS Word value for the same sentence?
2021-06-17 03:30:45
soja
Thanks Allen for your VBA
best regards
2020-01-18 08:12:55
Patty
Thanks, Allen, for this sweet tip. If I used this macro in most documents I edit, all the text would be red! Unfortunately, I'd have to use 50 as the cutoff (iWords = 50 in the macro). But this would be a great pre-editing tool to analyze just how dense the prose is. In other words, "Red text cannot easily be read"!
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments