Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, and 2016. 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.
by Allen Wyatt
(last updated October 8, 2016)
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).
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, and 2016. You can find a version of this tip for the older menu interface of Word here: Bumping Numbers in a Document.
Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!
If you want a list of all the fonts used in a document, the answer isn't as simple as you may think. This tip uses macros ...Discover More
When a macro works with files, it often has to change between different directories on your disk drive. This is done using ...Discover More
Using the command line to pass paramaters to a program is a common occurrence. Using the command line to pass parameters to a ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
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.