Written by Allen Wyatt (last updated May 20, 2023)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, 2021, and Word in Microsoft 365
There may be times when you are working with a document when you have a need to remove extra paragraph marks. This is particularly true if you are working with an ASCII file or a file that may have originally been formatted with another word processor. This process of manually removing extra paragraph marks can be very time consuming.
The traditional way of handling such situations is to use Find and Replace to search for two paragraph marks (^p^p) and replace with a single paragraph mark (^p). That works great, except in one situation—when the two paragraphs are formatted differently. In that case, a simple Find and Replace can mess up your document's formatting.
If you find yourself in this situation, you may find this macro of interest. It removes extra paragraph marks from a document using a two-step approach. When it is completed, there should not be even two paragraph marks in a row in your document.
Sub ReplacePara() Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting With Selection.Find .Text = "^p^p" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute While Selection.Find.Found Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeBackspace Selection.MoveLeft Unit:=wdCharacter, Count:=2 Selection.Find.Execute Wend End Sub
There are two parts to this macro. The first part—which relies on the Selection.Find method—uses Word's built-in Find and Replace capabilities to find all instances of two paragraph marks in sequence. (Just as is done in the traditional Find and Replace method described earlier.) The macro doesn't replace the sequential paragraph marks, however; it simply finds them. Then the second part of the macro kicks in—using the Selection.Find.Found property to delete the second of the two sequential paragraph marks.
The reason this approach is taken is because it leaves the formatting correct on the remaining paragraph mark. For instance, if the two sequential paragraph marks use different formatting from each other, the formatting of the first paragraph mark remains unchanged. If you simply replaced the sequential paragraph marks with a single paragraph mark, it is possible that you may not have the formatting exactly as you want when the replacing is finished.
Note that Selection.Find.Found is used as a "flag" for the While loop. This property reflects the status of the latest Find operation. If True then the search was successful; if False, then there was nothing found (and, therefore, nothing to change).
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 (998) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, 2021, and Word in Microsoft 365.
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!
By default, dashes don't "stick" to the text that follows them. Here's one way around this normal formatting convention.
Discover MoreAt the bottom of your document, on the status bar, Word allows you to include an indicator of the line on which your ...
Discover MoreWord uses usernames and initials to mark changes made while Track Changes is turned on. If you want to change those ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-06-08 18:05:40
Rajan
Is there a way the code can be run only on a selected part of the document and not the entire document?
2023-05-22 09:41:20
Andrew
How about still using Find-and-Replace, but with Wildcards, something like replacing "^13{0,}(^13)" with "\1"?
Not tested - just a thought.
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