Kivi
Kivi

Reputation: 97

Find and replace numbers in word with incremented values

I have a question about finding and replacing all numbers in a word document. I have numbers from 59...~600 or so, and I want to increment all of them by a fixed number. I'm not at all familiar with word macros.

Upvotes: 0

Views: 2330

Answers (1)

macropod
macropod

Reputation: 13505

You could use a macro like:

Sub Demo()
Application.ScreenUpdating = False
Const i As Long = 50
With ActiveDocument.Range
  With .Find
    .ClearFormatting
    .Text = "<[0-9]{2,3}>"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .MatchWildcards = True
    .Execute
  End With
  Do While .Find.Found
    If CLng(.Text) > 58 Then
      If CLng(.Text) < 700 Then .Text = CLng(.Text) + i
    End If
    .Collapse wdCollapseEnd
    .Find.Execute
  Loop
End With
Application.ScreenUpdating = True
End Sub

where 50 in the above code is the amount you want to increment the other numbers by. Note that, given your specifications, the above will only process numbers between 58 and 700.

Upvotes: 1

Related Questions