Sub Dash() ' Paul Beverley - Version 23.01.23 ' Makes adjacent words into sentence end newBit = " " & ChrW(8212) & " " newBit = " " & ChrW(8211) & " " myQuotes = Chr(34) & Chr(39) & ChrW(8220) & ChrW(8216) If Selection.Start <> Selection.End Then Selection.Delete Selection.MoveLeft , 2 End If Selection.Collapse wdCollapseEnd While (LCase(Selection) <> UCase(Selection)) Selection.MoveRight 1 DoEvents Wend myStart = Selection.Start If Selection = ChrW(8217) Then myStart = myStart + 1 Do Selection.MoveRight 1 DoEvents If Selection.Start = ActiveDocument.Content.End - 1 _ Then Beep: Exit Sub Loop Until LCase(Selection) <> UCase(Selection) Or Asc(Selection) = 1 myEnd = Selection.Start If LCase(Selection) <> Selection Then ' It needs lowercasing Selection.Start = Selection.Start - 1 preChar = Selection Selection.MoveStart 1 Selection.MoveEnd 1 newLetter = LCase(Selection) If InStr(myQuotes, preChar) > 0 Then Selection.Delete Selection.TypeText newLetter Selection.End = myEnd - 1 Else newBit = newBit & newLetter End If Selection.Start = myStart End If Selection.Start = myStart If Selection.End <> myStart Then Selection.Delete Selection.TypeText newBit End Sub