2016-02-29 30 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