How can I put this? Please state - exactly - what it is you want to happen. Exactly means...exactly. For example, you state you want to find specific strings. OK. Where are you getting those strings? Are you selecting some text elsewhere in the document and then using THAT to search for? Is the string from a different document? Is there going to be more than one string to search for?
Sub ReplaceStuff()
Dim strCheck As String
Dim oHF As HeaderFooter
Dim oSection As Section
strCheck = "old stuff"
For Each oSection In ActiveDocument.Sections
For Each oHF In oSection.Headers
If InStr(1, oHF.Range.Text, "old stuff") Then
oHF.Range.Text = _
Replace(oHF.Range.Text, "old stuff", "new and improved stuff")
End If
Next
Next
End Sub
The above goes through ALL headers and if the string "old stuff" is there, it is replaced with "new and improved stuff". No Selection. No View. Note you can also use Find\Replace. But again, what - exactly - is supposed to happen. BTW, I am not a professional programmer either. However, a basis for any code is to define - exactly - what it is that is supposed to happen.
Note that the code does not test for Link to Previous, because for what it does, that is not needed. However, maybe you DO need it, it is impossible to tell without knowing what exactly is supposed to happen.