2014-03-13 75 views
0

我試圖讓下面的代碼將公式插入到已更改的單元格中。我沒有收到任何錯誤,但代碼沒有填充在工作表上。任何洞察到我沒有做什麼?從VBA插入公式

formula_p1 = _ 
"=GETPIVOTDATA(""Max of " & [value_column_header] & ",Database!R1C14, & _ 
    ""Key"",& Key &)" 
     Debug.Print Cell.Address 
      Sheets("Cost Sheet").Cell.Formula = formula_p1 

在此先感謝您。

更新

我當前的代碼下面是我卡上的最後部分的連接。我不確定如何在VBA中完成此操作。此外,我還需要這個公式來重新評估可以在工作表上完成的「家庭」部分的更改。 「家庭」中的更改是通過組合框選擇完成的。

formula_1 = _ 
      "=GETPIVOTDATA(""Max of " & value_column_header & """,Database!$N$1,""Key""," & Concatenate(CurrentHFMFamily, G5, Left(B12, 4)) & ")" 
+0

'Sheets(「Cost Sheet」)。Cell' - 哪個單元格?使用'Sheets(「Cost Sheet」)。Cell(1,1)'或'Sheets(「Cost Sheet」)。Range(「A1」)'或其他 –

+0

正在存儲更改的單元格地址並且.cell引用單元格更改的地址。 – RL001

+0

當你按下「Ctrl-Alt-F9」時它會更新嗎?然後請參閱http://msdn.microsoft.com/en-us/library/office/bb687891(v=office.15).aspx – Smandoli

回答

0

這是我正在嘗試完成的最終結果。它不漂亮,但它快速和穩定。

=IF(INDIRECT(CONCATENATE("B",ROW()))=""," ",IFERROR(GETPIVOTDATA("Max of & _ 
    "&INDIRECT((ADDRESS(11,COLUMN())))&"_ADJ",Database!R1C14,"Key",& _ 
    LEFT(INDIRECT(CONCATENATE("B",SUM(ROW()-1))),4)&CurrentHFMFamily& & _ 
    (OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-(SUM(ROW()-(5))),- & _ 
    (MOD(COLUMN()+1,4))))),0)) 

感謝大家的意見,他們幫助我指出了正確的方向。