我想找到一个问题的解决方案。
要求用户在包含变量名称(早期用户输入的一部分)或这些输入变量名称的单元格引用的单元格中编写计算公式。之后,这些变量或单元格引用应该由专门创建的随机数替换,并且公式应该求解为结果值。 如何阅读公式并查找单元格引用或变量名称?我如何最终从vba代码中的单元格处理公式?
谢谢!
答案 0 :(得分:1)
如果我理解正确,你的sub将在单元格中读取公式,从引用的单元格中读取数据,然后用硬编码结果替换第一个单元格? Range.Formula
会将公式作为字符串而不是结果返回。然后,您可以解析公式以获取引用单元格,从中获取数据并覆盖。只要调用者是宏而不是另一个单元格,覆盖第一个单元格就不是问题。这是一个快速的样本:
Set myRg = Range("A2")
Set RefCell = Range(Left(myRg.Formula, 2))
这假设myRg.Formula中的前两个字符是有问题的参考单元格(例如,如果公式为“= B2 + C3”)。我相信你需要一种更复杂的方法去除引用,但这是一个开始。