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

Excel 运行时错误1004,无法获取worksheetfunction类的HLookup属性,excel,vba,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)

每次我运行代码时,都会显示错误

“运行时错误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

WorksheetFunction
属性的问题在于,如果遇到错误,它会导致代码中断。所以请改用
应用程序
对象的方法。比如说

Application.HLookup(....)
如果需要,也可以处理错误。比如说

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

顺便说一句,将
shift
声明为
Variant
而不是
Integer
。还应避免使用保留名称命名变量。例如,您可以使用
Dim result作为Variant
而不是使用
Dim Shift作为Variant

如果尝试
.0625
而不是
“01:30:00”
,是否会出现相同的错误?您之所以会出现此错误,是因为找不到匹配项,是的。使用Application.HLookup(..)时,结果是“error 2042”。我刚刚将第一行表上的格式类型更改为“text”,因为我的第一个Hlookup参数是字符串。它成功了。谢谢:)