The code below I patched togheter from several examples I found online, I am no VBA expert.
But the first item on the clist array (and the first item on the dropdown) is always empty, I'm assuming it has something to do with the redims, but I couldn't figure it out.
What could be the issue?
Private Sub ComboBox1_Change()
ReDim clist(0)
'If any value is input
If ComboBox1.Value <> "" Then
Dim kword As Variant
Dim product As Variant
'For each product description in our sheet table
For Each product In [Produtos[Descrição]].Rows
'Keyword search
For Each kword In Split(ComboBox1.Value, " ")
If InStr(Replace(product.Value, "", " "), kword) And kword <> "" Then
'Issue most likely here
ReDim Preserve clist(UBound(clist) + 1) As Variant
clist(UBound(clist)) = product.Value
Exit For
End If
Next kword
Next product
ComboBox1.list = clist
'If found something
If UBound(clist) > 0 Then
ComboBox1.DropDown
End If
'If no Input just show all products, here it doesn't show a blank item
Else
ComboBox1.list = [Produtos[Descrição]].Value2
End If
End Sub