无法使用vba vlookup查找date

我有一个excel工作表,列A包含date和列B包含相应的日子。 例如。 A2 = 01/01/14,B2 = Wed等等。

我试图检索B2与样本VBA代码的日子,但我不断收到错误,“ 运行时错误'1004'无法获得工作表function类的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。

VLookup对数据types很敏感。 而您的VBA例程正在查找一个DATE数据types,但是这不在Excel工作表上。 因此,您需要将stringlookup_value转换为与工作表上的内容兼容的数据types。 这可能是一个长(整个date)或双(如果你包括时间。

尝试:

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