我对VBA编程很陌生并且有问题。
我有一个名为流动性预测的基本文件,其中我填写其他文档中的数据。我收集数据的文档每天都会更新,因此名称中的日期每天都会更改。
名称为“(日期,”YYMMDD“)和”SE_Laizy.xlsx“,所以示例如下:160229SE_Laizy.xlsx
当我收集数据时,我使用索引匹配公式。我的问题是尝试使用日期值更新公式中的链接。
目前我这样写,
ActiveCell.Range((Cells(1, 1)), (Cells(1, 1))).FormulaR1C1 = _
"=INDEX('[" & Format(Date, "YYMMDD") & "SE_Laizy.xlsx"]Visa'!R1:R1048576,MATCH(R2C,'[" & Format(Date, "YYMMDD") & "SE_Laizy.xlsx"]Visa'!C1,0),MATCH(""Ub perioden"",'[" & Format(Date, "YYMMDD") & "SE_Laizy.xlsx"]Visa'!R2,0))"
我从中得到的只是一个NA。任何帮助将不胜感激!
答案 0 :(得分:3)
我添加了父工作表参考并打破了INDEX和。{ MATCH功能分为三个主要部分。
With Worksheets("Sheet2")
.Cells(1, 1).FormulaR1C1 = _
"=INDEX('[" & Format(Date, "YYMMDD") & "SE_Laizy.xlsx]Visa'!C1:C16384, " & _
"MATCH(R2C,'[" & Format(Date, "YYMMDD") & "SE_Laizy.xlsx]Visa'!C1, 0), " & _
"MATCH(""Ub perioden"", '[" & Format(Date, "YYMMDD") & "SE_Laizy.xlsx]Visa'!R2, 0))"
End With
如上所述,外部工作簿名称中有一些错误的引号。我不确定如何处理您的Range object定义。对于所有意图和目的,提供的只是解析为[A1]。