我有一个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.
VLookup对数据类型很敏感.并且您的VBA例程正在寻找DATE数据类型,但Excel工作表中不存在这种类型.因此,您需要将字符串lookup_value转换为与工作表上的内容兼容的数据类型.这可能是一个长(对于整个日期)或双(如果你包括时间.
尝试:
the_day = WorksheetFunction.VLookup(CLng(CDate(lookup_value)), lookup_table, 2, False)