Attribute VB_Name = "modStrBetweenStrs" Public Function StrBetweenStrs(strSource As String, str1 As String, str2 As String, Optional bCaseSensitive = True) As String() Dim pos1 As Long Dim pos2 As Long Dim results() As String Dim whatsleft As String Dim count As Integer whatsleft = strSource Do While whatsleft <> "" If bCaseSensitive Then pos1 = InStr(1, whatsleft, str1) pos2 = InStr(pos1 + Len(str1), whatsleft, str2) Else pos1 = InStr(1, UCase(whatsleft), UCase(str1)) pos2 = InStr(pos1 + Len(str1), UCase(whatsleft), UCase(str2)) End If If pos1 = 0 Or pos2 = 0 Then Exit Do End If ReDim Preserve results(count) results(count) = Mid(whatsleft, pos1 + Len(str1), pos2 - (pos1 + Len(str1))) whatsleft = Right(whatsleft, Len(whatsleft) - pos2) count = count + 1 Loop StrBetweenStrs = results End Function