Esta é a resposta:
Function VerticalMatch(Value As Range, Matrix As Range, Index As Integer) As Variant
Dim baseText As String
Dim x As Integer
x = 0
baseText = LCase(Value.Item(1).Value)
For Each cell In Matrix.Columns(1).Cells
x = x + 1
If baseText Like LCase(cell.Value) Then
VerticalMatch = Matrix.Columns(Index).Rows(x).Value
Exit Function
End If
Next
VerticalMatch = CVErr(xlErrNA)
End Function
Isso funciona como Find.Vert, mas usando uma comparação "like".
Portanto, a entrada deve ser preenchida com curingas:
+--------------------+-----------+
| KEYWORD | VALUE |
+--------------------+-----------+
| *somewhere | adverb |
| *test* | noun |
| *very imaginative* | adjective |
| *very imaginative* | dontknow |
+--------------------+-----------+