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;
如果 Round1
到 Round3
(numRounds
) 在工作簿中的顺序正确,那么您可以使用 3-D reference。例如:
= Sum( Round1:Round3!D3 )
与
相同
= Round1!D3 + Round2!D3 + Round3!D3
当尝试将连接的字符串分配给 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;
如果 Round1
到 Round3
(numRounds
) 在工作簿中的顺序正确,那么您可以使用 3-D reference。例如:
= Sum( Round1:Round3!D3 )
与
相同= Round1!D3 + Round2!D3 + Round3!D3