A fairly safe replacement, width-wise, would be to use asterisks. For example:
Sub Demo()
Application.ScreenUpdating = False
Dim i As Long, StrTxt As String
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "$[0-9.,]{1,}"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchWildcards = True
.Execute
End With
Do While .Find.Found
If .Information(wdWithInTable) = True Then
StrTxt = .Text
For i = 0 To 9
StrTxt = Replace(StrTxt, i, "*")
Next
.Text = StrTxt
End If
.Collapse wdCollapseEnd
.Find.Execute
Loop
End With
Application.ScreenUpdating = True
End Sub
With this approach, the reader can at least appreciate the order of magnitude of the numbers concerned. If you don't want that, use something like:
If .Information(wdWithInTable) = True Then
.Text = "$XXX"
End If