Try the following, which works even if you don't have whole words selected and preserves the original formatting:
Code:
Sub DuplicateSelectedWords()
Dim Rng As Range
With Selection
If .Type = wdSelectionIP Then
MsgBox "Select the text first", vbCritical
Exit Sub
End If
Set Rng = ActiveDocument.Range(.Words.First.Start, .Words.Last.End)
End With
With Rng.Duplicate
.Collapse wdCollapseEnd
.FormattedText = Rng.FormattedText
End With
End Sub