Large find/replace in Word using VBA
You're doing a lot with .Selection. By default, that is going to be slow. Doing things behind the scenes is always faster. Either way, working with selection isn't the best way to go. Either pass the document to the sub or prompt the user. Is the selection a document, text, body, header, title, section? Be explicit.

The way you use .Find makes me thing you're referring to a range, which can be any of those things. Let's take a look at the basic skeleton of your sub -


    With Selection
    .Find.ClearFormatting
    .Find.Replacement.ClearFormatting
    .Find
    .Find.Execute
    .Find.ClearFormatting
    .Find.Replacement.ClearFormatting
    .Find
    .Find.Execute
    .Find.ClearFormatting
    .Find.Replacement.ClearFormatting
    .Find
    .Find.Execute
    .Find.ClearFormatting
    .Find.Replacement.ClearFormatting
    .Find
    .Find.Execute
    .Find.ClearFormatting
    .Find.Replacement.ClearFormatting
    .Find
    .Find.Execute
    .Find.ClearFormatting
    .Find.Replacement.ClearFormatting
    .Find
    .Find.Execute
    .Find.ClearFormatting
    .Find.Replacement.ClearFormatting
    .Find
    .Find.Execute
End With



Yikes. You're doing the same thing 7 times. At worst that should be refactored. Something like this -

Private Sub AlterRange(ByVal target As Range, ByVal findString As String, ByVal replaceString As String)
    With target
        .Find.ClearFormatting
        .Find.Replacement.ClearFormatting
        .Find
            .Text findString
            .Replacement replaceString
        .Find.Execute Replace:=wdReplaceAll
    End With
End Sub


Now something like this would work

Dim target As Range
Set target = Selection
Dim findStrings(1 To 7) As String
findStrings(1) = "^p^p"
findStrings(2) = "^p"
findStrings(3) = "wvw"
findStrings(4) = "$GPGGA" &amp; "(*)" &amp; "$GPRMC"
'...
Dim replacestrings(1 To 7) As String
replacestrings(1) = "wvw"
replacestrings(2) = ","
'...

Dim i As Long
For i = 1 To 7
    AlterRange target, findStrings(i), replacestrings(i)
Next


All of this is untested, but you get the idea.



What you could do to speed it up is to create a variant (or whatever) to store the entire selection in and then do your finding and replacing in the variant, then place the variant back out to the sheet overwriting the selection.

I don't know how all this would interact with your formatting, but it doesn't seem like you're keeping any formatting so it shouldn't be a problem.