2014-01-07 58 views
3

我有一個Excel工作表,其中列A包含日期和包含相應日期的B列。例如, A2 = 01/01/14和B2 = Wed等。無法使用vba查找日期vlookup

我試着檢索天與樣品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

我敢肯定,消息發生,因爲VLOOKUP函數沒有找到任何東西 – nemmy

回答

11

VLookup對數據類型很敏感。而你的VBA例程正在尋找一個DATE數據類型,但是這在Excel工作表中不存在。因此,您需要將字符串lookup_value轉換爲與工作表上的內容兼容的數據類型。這可能是一個漫長的(對於整個日期)或雙(如果你是包括次

嘗試:。

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

這是解決問題的一站式地方!非常感謝,它的工作原理。感謝您的幫助。 – schenker