我用Excel创建了一个Userform。我有2个链接的组合框和大约10个文本框。在文本框中输入名称后,我可以搜索整个Excel工作表。其他文本框将自动填充属于该行的信息。是否可以通过仅输入名称的一半来开始搜索?我的意思是,当我只输入"mill"
而不是"miller"
时,Excel可以显示任何结果吗? VBA可以吗?我听说它应该与Levenshtein Algorithmn一起工作,但我不知道怎么用vba写它。任何人都可以帮助我吗?
答案 0 :(得分:0)
Excel的Range
对象有一个AutoComplete()
方法,如果这是您正在寻找的方法。例如,如果列A
中有一个名称列表,从第2行开始,您可以使用以下VBA代码查找第一个匹配项:
Dim strMatch As String
strMatch = Range("A2").AutoComplete("mill")
If Len(strMatch) > 0 Then
Debug.Print "First match found = " & strMatch
Else
Debug.Print "No matches found"
End If