我有一张excel工作表,其中A列包含日期,B列包含各自的日期。 例如。 A2 = 01/01/14,B2 = Wed,依此类推。
我试图用示例vba代码检索B2中的日子,但我一直收到错误 “运行时错误'1004' 无法获取worksheetFunction类的Vlookup属性“
请查看我的代码并告知错误。感谢。
Sub Button1_Click()
Dim lookup_value As String
Dim lookup_table As Range
Let lookup_value = "1/1/2014"
Set lookup_table = Range("A:B")
the_day = WorksheetFunction.VLookup(CDate(lookup_value), lookup_table, 2, False)
Range("D7") = the_day
End Sub
请注意,我想手动传递lookup_value而不是查找单元格A2。
答案 0 :(得分:11)
VLookup对数据类型很敏感。并且您的VBA例程正在寻找DATE数据类型,但Excel工作表中不存在这种类型。因此,您需要将字符串lookup_value转换为与工作表上的内容兼容的数据类型。这可能是一个Long(对于整个日期)或Double(如果你包括时间。
尝试:
the_day = WorksheetFunction.VLookup(CLng(CDate(lookup_value)), lookup_table, 2, False)