Does this do what you wanted?
Code:
Sub HeadsTransformReverse()
Dim i As Integer
For i = ActiveDocument.Paragraphs.Count To 2 Step -1
TagRange ActiveDocument.Paragraphs(i - 1).Range, ActiveDocument.Paragraphs(i).Range
Next i
End Sub
Function TagRange(rng1 As Range, rng2 As Range)
Dim i1 As Integer, i2 As Integer, rngTag As Range
If rng1.Text Like "<S#>*" And rng2.Text Like "<S#>*" Then
i1 = CInt(Mid(rng1.Text, 3, 1))
i2 = CInt(Mid(rng2.Text, 3, 1))
If i2 = i1 + 1 Then
Set rngTag = rng2.Duplicate
rngTag.End = rngTag.Start + 4
rngTag.Text = "<S" & i1 & "-" & i2 & ">"
rngTag.HighlightColorIndex = wdTurquoise
End If
End If
End Function