2016-10-06 223 views
1

試圖將公式放入字符串中,無法使其工作。有人能幫我把它變成一個字符串嗎?我知道我需要做什麼「」 &「」的地方,我只是不知道在哪裏....Excel中的VBA公式字符串

Dim form As String 
form = =IFERROR(GETPIVOTDATA("[Measures].[Sum of Amount]",Pivot!$A$3,"[qAllData].[Year]","[qAllData].[Year].&[2.016E3]","[qAllData].[Month Name]","[qAllData].[Month Name].&["&$B9&"]","[qAllData].[PRODUCT_CODE]","[qAllData].[PRODUCT_CODE].&["&C$3&"]","[qAllData].[Product Name]","[qAllData].[Product Name].&["&C$4&"]")-C8-C7-C6-C5,0) 
+0

你想把它作爲一個帶有引用的字符串,所以它看起來像'「= IFERROR(GETPIVOTDATA(...,Pivot!$ A $ 3,...」'或do你希望'Pivot!$ A $ 3'實際上成爲那個單元格中的文本嗎? – BruceWayne

+0

你想讓公式在電子表格中看起來如何? –

+1

在表單本身寫上所需的公式,以確保它能正常工作併發布在這裏工作公式與解釋其中的值要與變量交換出來。整個公式必須用與'&'連接的引號之外的變量進行引號。 –

回答

2

如果你的分子式是逐字你所擁有的電子表格,但要與插入VBA然後只是:

Dim form As String 
form = "=IFERROR(GETPIVOTDATA(""[Measures].[Sum of Amount]"",Pivot!$A$3,""[qAllData].[Year]"",""[qAllData].[Year].&[2.016E3]"",""[qAllData].[Month Name]"",""[qAllData].[Month Name].&[""&$B9&""]"",""[qAllData].[PRODUCT_CODE]"",""[qAllData].[PRODUCT_CODE].&[""&C$3&""]"",""[qAllData].[Product Name]"",""[qAllData].[Product Name].&[""&C$4&""]"")-C8-C7-C6-C5,0)" 

這僅僅通過更換""每個"並用引號引用了整個事情。 VBA接受它作爲一個有效的公式,但我不確定這是你真正想要的。

+0

工作完美!謝謝@John Coleman –

+0

看起來像我們在同一時間回答了... –

1

如果它是一個工作公式,你只是想在一個變量作爲String,所有你需要做的是啓動並用雙引號("),然後雙擊所有內部引號(""),像這樣結束吧:

form = "=IFERROR(GETPIVOTDATA(""[Measures].[Sum of Amount]"",Pivot!$A$3,""[qAllData].[Year]"",""[qAllData].[Year].&[2.016E3]"",""[qAllData].[Month Name]"",""[qAllData].[Month Name].&[""&$B9&""]"",""[qAllData].[PRODUCT_CODE]"",""[qAllData].[PRODUCT_CODE].&[""&C$3&""]"",""[qAllData].[Product Name]"",""[qAllData].[Product Name].&[""&C$4&""]"")-C8-C7-C6-C5,0)"