VBA,每日更新公式中其他工作簿的链接

时间:2016-02-29 14:42:40

标签: excel vba

我对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。任何帮助将不胜感激!

1 个答案:

答案 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]。