Interop Excel 带字符串连接的范围公式赋值

Interop Excel Range Formula assignment with string concatenation

当尝试将连接的字符串分配给 Range.Formula 时,不起作用,但简单的字符串可以完美地完成。

工作代码:

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;

¿WTF? xD

这使得无法动态生成公式

提前谢谢你。

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

如果 Round1Round3 (numRounds) 在工作簿中的顺序正确,那么您可以使用 3-D reference。例如:

= Sum( Round1:Round3!D3 )

相同
= Round1!D3 + Round2!D3 + Round3!D3