Excel vba Levenshtein Algorithmn

时间:2015-08-06 02:00:28

标签: .net

我用Excel创建了一个Userform。我有2个链接的组合框和大约10个文本框。在文本框中输入名称后,我可以搜索整个Excel工作表。其他文本框将自动填充属于该行的信息。是否可以通过仅输入名称的一半来开始搜索?我的意思是,当我只输入"mill"而不是"miller"时,Excel可以显示任何结果吗? VBA可以吗?我听说它应该与Levenshtein Algorithmn一起工作,但我不知道怎么用vba写它。任何人都可以帮助我吗?

1 个答案:

答案 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