You code does exactly the same in earlier Word versions?
The following modification will copy the original table to the end of the table each time it is used. Set the value of iRows to the number of rows in Table 2.
As implied by Andrew, you should be thinking about converting the form to use content controls rather than legacy form fields for the future.
https://www.gmayor.com/insert_content_control_addin.htm
has an option to do that, but it won't modify your code to work with the changed fields.
Code:
Private Sub CommandButton1_Click()
Dim oRng As Range
Dim oFld As FormFields
Dim i As Integer, j As Integer
Const iRows As Integer = 2 'The number of rows in table 2
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect
End If
With ActiveDocument
Set oRng = ActiveDocument.Tables(2).Range
oRng.Collapse wdCollapseEnd
For i = 1 To iRows
oRng.FormattedText = ActiveDocument.Tables(2).Rows(i).Range.FormattedText
Set oFld = oRng.FormFields
For j = 1 To oRng.Fields.Count
If oFld(j).Type = wdFieldFormDropDown Then
oFld(j).Result = oFld(j).DropDown.ListEntries(1).Name
Else
oFld(j).Result = ""
End If
Next j
oRng.Collapse wdCollapseEnd
Next i
End With
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
End Sub