我似乎无法解决看似微不足道的问题。我基本上需要打开另一个文件,将存储在变量中的日期时间与打开文件中的日期相匹配,然后将日期时间返回到右边的四个单元格。
我已经使用了这两个公式,但似乎都不起作用:
[变量]
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
我在这里缺少什么?
答案 0 :(得分:1)
工作表的VLOOKUP function会返回一个值,而不是从Range.Value property获取所需的单元格引用。
TDate
已经是日期,但您也可以使用原始长整数值。
您需要Worksheets collection,而不是Sheet
。
rundate = WorksheetFunction.VLookup(CLng(TDate), ActiveWorkbook.Worksheets("Dates").Range("B:F"), 4, False)