VBA查找/查找匹配datevariables的值并返回它旁边的date

我似乎无法解决似乎是一个小问题。 我基本上需要打开另一个文件,匹配存储在variables中的date时间与打开的文件中的date,然后返回date时间四个单元格的权利。

我已经使用这两个公式,但似乎都没有工作:

[variables]

Dim TDate As Date TDate = ThisWorkbook.Worksheets("Static Data").Range("B1").value Filename = "<filename>" Workbooks.Open Filename:=Filename, UpdateLinks:=False 

[公式1]

 rundate = WorksheetFunction.VLookup(CDate(TDate), ActiveWorkbook.Sheet("Dates").Range("B:F"), 4, False).value 

[公式2]

 Dim TDate As Date TDate = ThisWorkbook.Worksheets("Static Data").Range("B1").value rundate = ActiveWorkbook.Sheet("Dates").Cells.Find(Format(TDate, "d-mmm-yy"), ActiveWorkbook.Sheet("Dates").Range("B1"), xlValues, xlPart, xlByRows, xlNext, False, False).value runtime = rundate.Offset(0, 4).value 

我在这里错过了什么?

工作表的VLOOKUP函数返回一个值,而不是您需要从中获取Range.Value属性的单元格引用。

TDate已经是一个date,但你也可以使用原始的长整数值。

您需要工作表集合 ,而不是工作 Sheet

 rundate = WorksheetFunction.VLookup(CLng(TDate), ActiveWorkbook.Worksheets("Dates").Range("B:F"), 4, False)