Sub NumberDecrement() ' Paul Beverley - Version 20.11.24 ' Subtracts one from the next number after the cursor myJump = -1 goNext = False ' goNext = True trackit = True searchRange = 100 If goNext = True And Selection.start <> _ Selection.End Then _ Selection.Collapse wdCollapseStart myTrack = ActiveDocument.TrackRevisions If trackit = False Then ActiveDocument.TrackRevisions = False Set rng = Selection.Range.Duplicate rng.End = rng.start + searchRange skipThese = " ." & ChrW(13) Do While InStr(skipThese, Left(rng, 1)) > 0 rng.MoveStart , 1 Loop ' Move selection to start of any number If Val(rng) = 0 Then i = 0 allText = rng.Text Do i = i + 1 If i = searchRange Then Beep rng.Select MsgBox ("No number found.") Exit Sub End If myTest = Mid(allText, i) DoEvents Loop Until Val(myTest) > 0 And InStr(skipThese, Left(myTest, 1)) = 0 Selection.MoveStart , i - 1 rng.MoveStart , i - 1 End If ' Find end of number and increment (decrease) it i = 0 allText = rng.Text Do i = i + 1 myTest = Mid(allText, i, 1) DoEvents Loop Until Val(myTest) = 0 And myTest <> "0" rng.End = rng.start + i - 1 rng.Select rng.Text = Trim(Str(Val(rng.Text) + myJump)) If goNext = True Then Do While Asc(Selection) > 47 And Asc(Selection) < 58 Selection.MoveRight , 1 Loop Call FindFwd End If End Sub