Sub SingleQuotesDoubleTopical() ' Paul Beverley - Version 20.07.23 ' Changes single quotes around current text to doubles myRange = 60 ' doUSpunctuation = False doUSpunctuation = True Set rng = Selection.Range.Duplicate Selection.MoveStartUntil cset:=ChrW(8216), count:=wdBackward If Len(Selection) > myRange Then Beep Exit Sub End If Selection.Collapse wdCollapseStart Selection.MoveStart , -1 Selection.TypeText Text:=ChrW(8220) rng.Select Selection.Collapse wdCollapseEnd With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "['" & ChrW(8217) & "][!a-z]" .Wrap = wdFindContinue .Forward = True .Replacement.Text = "" .MatchWildcards = True .Execute DoEvents End With Selection.MoveEnd , -1 Selection.Delete If doUSpunctuation = True Then Selection.MoveEnd , 1 If InStr(".,", Selection.Text) > 0 Then Selection.Collapse wdCollapseEnd Else Selection.Collapse wdCollapseStart End If End If Selection.TypeText Text:=ChrW(8221) End Sub