我正在使用Excel 2013 VBA。我有以下数据
A B
1 John Doe John Doe
2 Mary Smith Mary Smith
3 Alice Jones Alice Jones
4 Bob C Carter Bob Carter
5 David L Macy David L Macy
6 June Weaver June Weaver
我正在使用部分代码搜索B列中条目与A列中条目范围的完全匹配:
Dim lastAllScriptsRow As Integer
Dim compareOutlookRow As Integer
lastAllScriptsRow = 6
compareOutlookRow = 1
Range(Cells(1, 1), Cells(lastAllScriptsRow, 1)).Select
… code …
If IsError(Application.WorksheetFunction.Match(Cells(compareOutlookRow, 2), Selection, 0)) Then
在B列中搜索前三个条目是成功的。当搜索第四个条目Bob Carter时(注意A列中的“Bob C Carter”条目阻止完全匹配),我得到一个“运行时错误'1004':无法获得Match属性WorksheetFunction类。“当我使用Application.WorksheetFunction.IsNA而不是IsError时,当我使用IsNumeric而不是IsError使用积极方法时,我得到相同的错误。非常感谢任何帮助。
答案 0 :(得分:1)
使用Application.Match
代替Application.WorksheetFunction.Match
。前者将返回错误,您可以使用IsError
进行陷阱,而后者会抛出运行时错误,这个错误很难处理。
请注意,Intellisense不知道Application.Match
存在。确实如此。