The resulting transfer in the Excel cell is this symbol: (I don't know if this is displaying correctly but it's like an upside-down T, an
up tack perhaps?)
That's because .Range.Text gets just the 'text' of the range, but the checkbox formfields don't have text as such, just a true/false state. What you need to do, then, is to pre-process the table to convert all checkbox formfields to something meaningful (e.g. 1/0, TRUE/FALSE, CHECKED UNCHECKED). the simplest is 1/0:
Dim wdCell As Word.Cell, wdFmFld As Word.FormField
...
With wdRng
If .Tables.Count > 0 Then
With .Tables(1)
For Each wdFmFld In .Range.FormFields
wdFmFld.Range.Text = wdFmFld.Result
Next
WkSht.Cells(i, 3) = Replace(Replace.Range.Text, Chr(13) & Chr(7) & Chr(13) & Chr(7), Chr(10)), Chr(13) & Chr(7), Space(4))
End With
End If
End With
... etc
This assumes, of course, the document's form protection is off when the macro is run.