我遇到Range.Formula
的问题。下面的代码片段(假设已创建Range对象并且不为null)
string formula;
formula = Range.Formula;//it returns whatever is written in the formula, even the cell reference
假设我有一个使用相对单元格引用的公式=MyCalc(41, A1)
。在单元格A1中,有一个值为100.
因此字符串变量formula
的值总是=MyCalc(41, A1)
而不是=MyCalc(41, 100)
,这是我想要的结果。
我想知道是否有办法让Range.Formula避免返回单元格引用。有任何想法吗?感谢
答案 0 :(得分:0)
公式的重点是准确地给你输入的内容。您可以编写一个遍历公式的方法,并递归获取该单元格范围的值。
之所以没有为你做这件事,可能会导致大量的递归。如果单元格A1(在您的示例中)actaull引用单元格B2,它引用C100 ......等等。
我会编写一个函数,它接受一个单元格引用并获取VALUE(getCellValue)(不是公式)。然后我会编写一个获取公式的函数,使用正则表达式检查单元格引用,并在所有引用上调用getCellValue。