Worksheets("outputraw").Cells(1,4)
包含日期,让我们说(09/09/2015)
Worksheets("outputraw").Range("a:b")
如下所示:
Col A Col B
09/09/2015 2592.795
10/09/2015 2588.904
11/09/2015 2571.05
14/09/2015 2598.988
15/09/2015 2605.902
16/09/2015 2613.178
代码:
sub VlookupProblem()
dim Var as Date
Var = Worksheets("outputraw").Cells(1,4).Value 'meaning 09/09/2015
Worksheets("outputraw").Cells(1, 5) = Application.VLookup(Var, Worksheets("outputraw").Range("a:b"), 2, True) ' this returns #N/A or error 1004 if i debug with WorksheetFunction
Worksheets("outputraw").Cells(1, 6) = Application.VLookup(Worksheets("outputraw").Cells(1, 4), Worksheets("outputraw").Range("a:b"), 2, True) ' this returns the value i need, meaning 2592.795
end sub
答案 0 :(得分:0)
问题是日期。日期是格式化的数字,有时在通过变量时很难得到确切的日期。
我喜欢将.value2
相互比较。
Sub VlookupProblem()
Dim Var
Var = Worksheets("outputraw").Cells(1, 4).Value2 'meaning 09/09/2015
msgbox var
Worksheets("outputraw").Cells(1, 5) = Application.VLookup(Var, Worksheets("outputraw").Range("a:b").Value2, 2, True)
msgbox Worksheets("outputraw").Range("A5").Value2
Worksheets("outputraw").Cells(1, 6) = Application.VLookup(Worksheets("outputraw").Cells(1, 4), Worksheets("outputraw").Range("a:b"), 2, True)
End Sub