Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Finding Long Sentences.
Written by Allen Wyatt (last updated October 3, 2022)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365
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 Word in Microsoft 365. You can find a version of this tip for the older menu interface of Word here: Finding Long Sentences.
Do More in Less Time! Are you ready to harness the full power of Word 2013 to create professional documents? In this comprehensive guide you'll learn the skills and techniques for efficiently building the documents you need for your professional and your personal life. Check out Word 2013 In Depth today!
We've all experienced the problem: You start selecting a large block of text using the mouse, and before you know it the ...
Discover MoreOne of the final touches you can add to a document is to hyphenate it. This allows text to flow more smoothly from line ...
Discover MoreWant to jump to a particular page in your document? Word makes it easy; just pull up the Go To tab of the Find and ...
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 © 2024 Sharon Parq Associates, Inc.
Comments