I tried to adapt your code to mine but it didn't work. The same problem still exists, as if the macro couldn't detect the 2 quotation marks.

Here's my updated code:

Sub MoveToBeginningSentence() 
    Application.ScreenUpdating = False 
     
    Selection.Cut 
    Selection.MoveLeft Unit:=wdSentence, Count:=1, Extend:=wdMove 
    Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend 
    If Selection.Characters.First Like "[ " & Chr(34) & Chr(147) & Chr(11) & vbCr & vbTab & ".!?]" Then
        Selection.MoveLeft Unit:=wdSentence, Count:=1, Extend:=wdMove 
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove 
        Selection.Paste 
    
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend 
        Selection.Range.Case = wdLowerCase 

        Selection.MoveLeft Unit:=wdSentence, Count:=1, Extend:=wdMove 
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove 
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend 
        Selection.Range.Case = wdUpperCase 
    Else
        Selection.MoveLeft Unit:=wdSentence, Count:=1, Extend:=wdMove 
        Selection.Paste 

        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend 
        Selection.Range.Case = wdLowerCase 

        Selection.MoveLeft Unit:=wdSentence, Count:=1, Extend:=wdMove 
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend 
        Selection.Range.Case = wdUpperCase 
    End If
End Sub