Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, 2016, 2019, Word in Microsoft 365, and 2021. 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: Bumping Numbers in a Document.
Written by Allen Wyatt (last updated June 24, 2023)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, Word in Microsoft 365, and 2021
Documents often contain many words that are purposefully very similar to each other. For instance, you may have a document that references a series of part numbers, and the part numbers are all very similar to each other. Or you may reference a group of file names in which the base portion of the name is the same word, but each file name has a suffix that is a number, such as the following:
Widget01 Widget02 Widget03 Widget04 Widget05
If you ever have a need to increment the numbers within your document, the process can be very tedious and error-prone to do by hand. (Depending, of course, on the number of names you need to change.) This means that the task is a perfect candidate for being done by a macro.
As an example, the following macro, BumpNumbers, will search for all instances of the word Widget followed immediately by a two-digit number. The number will then be incremented.
Sub BumpNumbers() Dim J As Integer Dim sFindText As String Dim sReplaceText As String Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With For J = 98 To 1 Step -1 sFindText = "Widget" & Right("00" & Trim(CStr(J)), 2) sReplaceText = "Widget" & Right("00" & Trim(CStr(J + 1)), 2) Selection.Find.Text = sFindText Selection.Find.Replacement.Text = sReplaceText Selection.Find.Execute Replace:=wdReplaceAll Next J End Sub
Obviously, this macro is tailored to a specific need—the word Widget followed by a two-digit number. If you need to modify the macro to fit your numbering needs, you can do so by changing the For ... Next loop (so it doesn't go from 98 to 1) or by changing the text being searched for (which is assigned to the sFindText variable).
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 (12121) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, Word in Microsoft 365, and 2021. You can find a version of this tip for the older menu interface of Word here: Bumping Numbers in a Document.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
When you are using Find and Replace under macro control, you can specify what you want it to do when the end of your ...
Discover MoreWhen creating macros, you might want to know if a user has made changes in the document or not. Here's how to figure that ...
Discover MoreWhen processing a document using a macro, you may need to know if the insertion point is within a bookmark or not. This ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
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