2016-09-03 83 views
1

嘗試將連接的字符串賦給Range.Formula時不起作用,但簡單的字符串完美無缺。使用字符串連接進行互操作的Excel範圍公式賦值

工作代碼:

string formula = string.Format("=Round1!D{0} + Round2!D{0}", cellId); 
myRange.Formula = formula; 

失敗代碼:

string formula = string.Format("=Round{0}!D{1}!", 1, cellId); 
for (int i = 2; i <= numRounds; i++) 
    formula += string.Format(" + Round{0}!D{1}!", i, cellId); 
myRange.Formula = formula; 

¿跆拳道?的xD

這使得IMPOSIBLE生成公式dinamicly

預先感謝您。

+1

除去''在端部 - ' 「=圓形{0} d {1}!」' – Slai

+1

哇尷尬錯誤!謝謝!我應該刪除這篇文章嗎? – evega

回答

2
string formula = string.Format("=Round{0}!D{2} + Round{1}!D{2}", 1, 2 cellId); 
myRange.Formula = formula; 

如果紙張Round1Round3numRounds)是爲了在工作簿,然後就可以使用3-D reference。例如:

= Sum(Round1:Round3!D3) 

這將是相同的

= Round1!D3 + Round2!D3 + Round3!D3 
+0

不應該是: string formula = string.Format(「= Round {0}!D {1}」,1,cellId); formula + = string.Format(「= Round {0}!D {1}」,2,cellId); ? 修復它,我會標記爲已解決 – evega

+0

@evega,但會變成例如'「= Round1!D3 = Round2!D3」'。你想比較它們還是添加它們? – Slai

+0

好的等待,那是因爲是一個示例片段。讓我發佈所有的代碼。 – evega