2016-02-29 29 views
2

更新链接到其他工作簿,我很新的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。任何帮助,将不胜感激!

+0

请回去和编辑问题的标题,以反映你的问题的内容。 – Jeeped

+0

谢谢,完全错过了! – Laizy

+1

'&“SE_Laizy.xlsx”'应该是'&“SE_Laizy.xlsx ...'等你的报价不放在正确的和不匹配。 –

回答

3

我添加了一个父工作表的参考和破碎INDEXMATCH功能到三个主要部分。

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

+1

'ActiveCell.Range(( 。细胞(1,1)),(小区(1,1)))Select'简单地解析为'ActiveCell.Select'在我的测试不会去A1 –

+0

@D_Bester - 。好!抓我没”我认为这个范围将会和[ActiveCell属性](https://msdn.microsoft.com/en-us/library/office/ff193314.aspx)相关,但当然是这样的。 Activecell本身在位置1。 – Jeeped