Maybe try this code
Function IsAtStartOfSentence(ByVal SearchString As String, ByVal SearchRange As Range) As Boolean
' Declare variables
Dim StartOfSentence As String
Dim FoundPosition As Long
' Define the characters that can precede the start of a sentence
StartOfSentence = ".!?;"
' Add any other characters you consider as sentence endings
' Find the position of the search string within the specified range
FoundPosition = InStr(SearchRange.Text, SearchString)
' If the search string is not found, return False
If FoundPosition = 0 Then
IsAtStartOfSentence = False
Exit Function
End If
' Check if the character preceding the search string is a sentence ending character
If FoundPosition > 1 Then
If InStr(StartOfSentence, Mid(SearchRange.Text, FoundPosition - 1, 1)) > 0 Then
IsAtStartOfSentence = True
Else
IsAtStartOfSentence = False
End If
Else
' If the search string is at the very beginning of the range, assume it's at the start of a sentence
IsAtStartOfSentence = True
End If
End Function