
Tips.Net > WordTips Home > Macros > VBA Examples > Bumping Numbers in a Document
Summary: If your documents include words that contain numbers (such as a list of parts numbers) you may need a way to increment those numbers. Here’s a way you can do it quickly using a macro. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)
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:
Disc01 Disc02 Disc03 Disc04 Disc05
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 VBA macro, BumpNumbers, will search for all instances of the word Disc 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 = "Disc" & Right("00" & Trim(CStr(J)), 2)
sReplaceText = "Disc" & 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 Disc 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).
Tip #814 applies to Microsoft Word versions: 97 2000 2002 2003 2007
Create and Merge! Using Word's mail merge tool you can quickly and easily combine data from a variety of data sources to create great individualized documents that incorporate your data in ways that you control. WordTips: Mail Merge Magic is an invaluable source for learning how to harness the full power of Word's mail merging capabilities.
Check out WordTips: Mail Merge Magic today!
The real power behind Word's best documents lies in understanding styles and templates. Learn the key to more powerful document creation. (more information...)
Ask a Word Question
Make a Comment
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Word2007 Tips
WordTips