Звёздочку можно обрабатывать так:

Sub main()
Dim ИсходныйТекст As String
Dim Ключ As String
Dim ЗвёздочкаВпереди As Boolean
Dim ЗвёздочкаСзади As Boolean
Dim i As Integer, j As Integer, k As Integer
Const Пробел = " "

Debug.Print "---"
ИсходныйТекст = "Корабль с коркой плыл корпусом по морю субкорпускул"
'Добавляю пробелы в начало и в конец
ИсходныйТекст = Пробел & ИсходныйТекст & Пробел
Ключ = "кор*"

If (Left(Ключ, 1) = "*") Then
ЗвёздочкаВпереди = True
'Убираю звёздочку из ключа и добавляю пробел
Ключ = Right(Ключ, Len(Ключ) - 1) & Пробел
ElseIf (Right(Ключ, 1) = "*") Then
ЗвёздочкаСзади = True
'Убираю звёздочку из ключа и добавляю пробел
Ключ = Пробел & Left(Ключ, Len(Ключ) - 1)
End If

i = 1
Do
'Ищу строку ключа в тексте
j = InStr(i, ИсходныйТекст, Ключ)
If (j = 0) Then Exit Do
If (ЗвёздочкаСзади) Then
'Искать пробел правее ключа
k = InStr(j + 1, ИсходныйТекст, Пробел)
Debug.Print Mid(ИсходныйТекст, j, k - j)
End If
If (ЗвёздочкаВпереди) Then
'Искать пробел левее ключа
For k = j - 1 To 1 Step -1
If (Mid(ИсходныйТекст, k, 1) = Пробел) Then Exit For
Next k
If (k < 1) Then k = 1
Debug.Print Mid(ИсходныйТекст, k + 1, j - k + 1)
End If
i = j + 1
Loop
End Sub


Для ключа "*л" программа выдаёт:
---
плыл
субкорпускул

Для ключа "кор*" программа выдаёт:
---
Корабль
коркой
корпусом

Ха! Какой прикольный номер у моего сообщения: раз-два-три