【发布时间】:2017-08-05 01:31:31
【问题描述】:
我有一个模板,我需要将数据填充到动态生成的范围中,每个范围包含 23 列。 另外我正在使用数据表将数据填充到范围中。
公式也是为每一列和每一行动态生成的:
"=IF(COUNT(" + prefix + "J" + rowNum + ":" + prefix + "L" + rowNum + ")>0," + prefix + "J" + rowNum + "+" + prefix + "K" + rowNum + "+" + prefix + "L" + rowNum + ",\"\")";
当值被动态应用时,上面的公式将如下所示:
=IF(COUNT(J12:L12)>0,J12+K12+L12,"")
在上面的公式中,prefix 是我将动态确定和替换的列名,rowNum 是每一行的迭代值,也是确定和替换的。
我在这里面临的问题是公式是动态生成的,并放置在 excel 中的所需列中,但作为文本放置。如果我按“F2”然后按 Enter,则会应用公式。
注意:我已经检查并验证=
之前没有空格之前:
之后:
我什么都没做,我只是按 F2 进入公式,然后按 Enter 键,公式就会被应用
我尝试了各种选择,例如
R1C1
R1C1local
ShowFormulas
Ctrl + ' issue
由于我有超过 100 列和无限行要计算,我无法转到每个范围并将范围设置为公式然后计算。
我已经应用了一个宏代码 OnWorkbookOpen 来应用公式,我只是想知道有没有什么方法可以使用 SpreadsheetGear 而无需宏代码来实现。
【问题讨论】:
标签: c# excel spreadsheetgear