' Replace the last occurrence of a stringFunction ReplaceLast(Expression As String, Find As String, ReplaceStr As String, _ Optional Compare As VbCompareMethod) As String Dim i As Long i = InStrRev(Expression, Find, , Compare) If i Then ' the search string is there ' note that the Replace function trims the first part ' of the string, so we must restore it using Left$ ReplaceLast = Left$(Expression, i - 1) & Replace(Expression, Find, _ ReplaceStr, i, 1, Compare) Else ' the search string isn't there ReplaceLast = Expression End IfEnd Function