It ends at the end of the document. The macro works as written in Word 2010 and 2013. I didn't change anything in your macro except supply it with the parameters.
You can test it easily enough e.g.
Code:
Sub Macro1()
DoColorChange wdYellow, wdPink
End Sub
Personally I might have written it a little differently e.g.
Code:
Private Sub DoColorChange(SearchColor As Long, ReplaceColor As Long)
Dim oDoc As Document
Dim oRng As Range
Set oDoc = ActiveDocument
Set oRng = oDoc.Range
With oRng.Find
.Highlight = True
Do While oRng.Find.Execute
If oRng.HighlightColorIndex = SearchColor Then
oRng.HighlightColorIndex = ReplaceColor
End If
oRng.Collapse 0
Loop
End With
End Sub
but it should work just the same as you had it.