动态文件名不起作用(VBA)

时间:2014-11-28 16:35:17

标签: excel-vba dynamic filenames vlookup getopenfilename

我有一个我需要在宏中引用的工作簿。它总是在文件名中有今天的日期。我可以使用以下脚本完美打开它:

'Open today's PHO report
Workbooks.Open FileName:="\\netapp02\ProcurementDocs$\PHO\PHO " & TodaysDate & ".xlsx"

但是,我还想在VLOOKUP公式中为数组引用此工作簿。我无法上班!我尝试过使用INDIRECT命令,但它似乎没有用。请指教。这是代码。如何获得RefFile的正确值,以及如何编写IFNA / VLOOKUP代码?

'VLOOKUP against PHO report and return Key match or the word "No"
Range("Z2").Formula = "=IFNA(VLOOKUP(Y2,""'["" & RefFile & ""]'!$C:$D"",1,0),""NO"")"

感谢。

卡尔

1 个答案:

答案 0 :(得分:0)

我强烈认为RefFile是VBA代码中的变量。目前,你硬编码  & RefFile &进入公式,但不是其内容。

更改此

Range("Z2").Formula = "=IFNA(VLOOKUP(Y2,""'["" & RefFile & ""]'!...

进入这个:

Range("Z2").Formula = "=IFNA(VLOOKUP(Y2,""'[""" & RefFile & """]'!...