运行时错误1004,无法获取worksheetfunction类的HLookup属性

时间:2019-08-13 16:35:20

标签: excel vba

每次我运行代码错误

  

“运行时错误1004:无法获取worksheetfunction类的HLookup属性”

当我在具有相同参数的excel工作表中进行hlookup时,它会工作,它会返回我想要的值。

Sub lookup()

Dim shift As Integer
Set myrange = Range("A1:AZ8")

shift = Application.WorksheetFunction.HLookup("01:30:00", myrange, 3, False)

End Sub

1 个答案:

答案 0 :(得分:1)

WorksheetFunction属性的问题在于,如果遇到错误,它将导致代码中断。因此,请改用Application对象的方法。例如

Application.HLookup(....)

如果需要,您也可以处理该错误。例如

Debug.Print Application.IfError(Application.HLookup("01:30:00", myrange, 3, False), "Not Found")

BTW将shift声明为Variant而不是Integer。另外,请避免使用保留名称来命名变量。您可以使用Dim result as Variant代替Dim Shift as Variant