无法使用vba vlookup查找日期

时间:2014-01-07 00:03:31

标签: excel excel-vba vlookup vba

我有一张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。

1 个答案:

答案 0 :(得分:11)

VLookup对数据类型很敏感。并且您的VBA例程正在寻找DATE数据类型,但Excel工作表中不存在这种类型。因此,您需要将字符串lookup_value转换为与工作表上的内容兼容的数据类型。这可能是一个Long(对于整个日期)或Double(如果你包括时间。

尝试:

the_day = WorksheetFunction.VLookup(CLng(CDate(lookup_value)), lookup_table, 2, False)