Solved

Renumber Word data

Posted on 2016-08-30
5
66 Views
Last Modified: 2016-09-01
Hi All,

I have a function to insert reference numbers into a word document with a mouse click:

e.g.  
click > [R001]
click > [R002]
etc.

While maintaining this document, it can hapen that the function is used to insert new numbers

click > [R003]

But the result after that could be:
[R001]
[R003]
[R002]

I'm looking for a function, that will search for the [Rxxx] format and renumber this in the the whole document, without changing other stuff.

I don't write VBA (oke a little) so please keep it simple
0
Comment
Question by:theo kouwenhoven
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 18

Expert Comment

by:xtermie
ID: 41777657
Can you please post a sample document?
0
 
LVL 16

Author Comment

by:theo kouwenhoven
ID: 41777801
Hi xtermie,

I was not allowed to attach the .docm file so I renamed it to .doc.
In the example there are some rows, but also the VB source that is used to insert the reference numbers.

It would be nice if it can write some logging to a TXT file during the rename actions.

e.g.
[R001] > [R001]
[R025] > [R002]
[R002] > [R003]
etc
SampleDocument.doc
0
 
LVL 54

Accepted Solution

by:
Bill Prew earned 500 total points
ID: 41778111
Give this VBA subroutine a try, seemed to do the job here.

Sub SequenceNumbers()
    Dim rng As Range
    Dim i As Integer

    ' Initialize new sequence values
    i = 0
    
    ' Search entire document
    Set rng = ActiveDocument.Range
    
    ' Use Word FIND methond to do a simple regular expression search
    With rng.Find
        ' Look for our sequence tags in format [Rnnn]
        .Text = "(\[R[0-9]{3}\])"
        .MatchWildcards = True
        
        ' Loop finding each matching tag
        Do While .Execute()
            ' Increment new sequence number and update this tag
            i = i + 1
            rng.Text = "[R" & Format(i, "000") & "]"
        Loop
    End With

End Sub

Open in new window

~bp
0
 
LVL 16

Author Closing Comment

by:theo kouwenhoven
ID: 41779685
Great !!!!! thanks working fine :-)
0
 
LVL 54

Expert Comment

by:Bill Prew
ID: 41779885
Welcome.

~bp
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will guide you to convert a grid from a picture into Excel format using Microsoft OneNote and no other 3rd party application.
Outlook Free & Paid Tools
The viewer will learn how to simulate a series of sales calls dependent on a single skill level and learn how to simulate a series of sales calls dependent on two skill levels. Simulating Independent Sales Calls: Enter .75 into cell C2 – “skill leve…
Learn how to create and modify your own paragraph styles in Microsoft Word. This can be helpful when wanting to make consistently referenced styles throughout a document or template.

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question