Excel 运行时错误1004,无法获取worksheetfunction类的HLookup属性
每次我运行代码时,都会显示错误 “运行时错误1004:无法获取worksheetfunction类的HLookup属性” 当我在excel工作表中使用相同的参数执行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)
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参数是字符串。它成功了。谢谢:)