用值替换公式中的引用

时间:2014-05-28 18:46:31

标签: excel vba reference

我想找到一个问题的解决方案。

要求用户在包含变量名称(早期用户输入的一部分)或这些输入变量名称的单元格引用的单元格中编写计算公式。之后,这些变量或单元格引用应该由专门创建的随机数替换,并且公式应该求解为结果值。 如何阅读公式并查找单元格引用或变量名称?我如何最终从vba代码中的单元格处理公式?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你的sub将在单元格中读取公式,从引用的单元格中读取数据,然后用硬编码结果替换第一个单元格? Range.Formula会将公式作为字符串而不是结果返回。然后,您可以解析公式以获取引用单元格,从中获取数据并覆盖。只要调用者是宏而不是另一个单元格,覆盖第一个单元格就不是问题。这是一个快速的样本:

Set myRg = Range("A2")
Set RefCell = Range(Left(myRg.Formula, 2))

这假设myRg.Formula中的前两个字符是有问题的参考单元格(例如,如果公式为“= B2 + C3”)。我相信你需要一种更复杂的方法去除引用,但这是一个开始。