Word.Tips.Net Welcome toWord.Tips.Net

Helpful Links

Tips.Net Home
WordTips Home

Ask a Word Question
Make a Comment

Tips.Net Store

WordTips FAQ
WordTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
WordTips Site

Newest Tips

Setting Fraction Bar Overhang Spacing in the Equation Editor

Printing On Both Sides of the Paper

Turning Off AutoComplete for Dates

Ordering Search and Replace

Understanding Auto Line Spacing

Adding Comments to Your Document

Conditional Calculations in Word

 

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 Rock-Solid Lists! Bulleted and numbered lists can help make your writing clearer and easier to follow. If not done properly, however, they can be a nightmare to work with. Discover the ins and outs of Word's lists with this great reference available in two versions.
 
Check out Word Bullets and Numbering today!