OK. It's just a question of relocating the ranges e.g.

Sub ReplaceFieldsV4()
'Graham Mayor - http://www.gmayor.com - Last updated - 25 Sep 2018
Dim oFld As Field, oNewFld As Field
Dim oRng As Range, oSeq As Range
    For Each oFld In ActiveDocument.Fields
        If oFld.Type = wdFieldSequence Then
            If InStr(1, oFld.Code, "Table") > 0 Then
                oFld.Code.Text = Replace(oFld.Code.Text, oFld.Code.Text, "SEQ Table \* ARABIC \r 1")
                oFld.Update
                Set oRng = oFld.Code
                oRng.MoveStart wdCharacter, -1
                oRng.Collapse 1
                oRng.Text = "-"
                oRng.Collapse 1
                Set oNewFld = ActiveDocument.Fields.Add(Range:=oRng, _
                                                        Type:=wdFieldStyleRef, _
                                                        Text:="""GA Numbered Heading 1""" & " \s", _
                                                        PreserveFormatting:=False)
                oNewFld.Update
            End If
        End If
    Next oFld
    ActiveWindow.View.ShowFieldCodes = False
lbl_Exit:
    Set oFld = Nothing
    Set oNewFld = Nothing
    Set oRng = Nothing
    Exit Sub
End Sub