公式返回使用单元格引用的字符串,原因

本文关键字:字符串 原因 引用 单元格 返回 | 更新日期: 2023-09-27 18:21:30

我的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避免返回单元格引用。有什么想法吗?感谢

公式返回使用单元格引用的字符串,原因

公式的全部目的是准确地给出在其中键入的内容。您可以编写一个方法,通过一个公式并递归地获取该单元格范围的值。

之所以不为您这样做,是因为它可能会引发大量递归。如果单元格A1(在您的示例中)actaull引用单元格B2,该单元格引用C100…等等,该怎么办?

我会写一个函数,它接受一个单元格引用并获得VALUE(getCellValue)(而不是公式)。然后,我将编写一个函数来获取公式,使用正则表达式检查单元格引用,并对所有引用调用getCellValue。