我在 Excel 中创建了一个命名范围,例如“TestRange”,其中在“引用”框中包含一个公式。它可以像将 2 个单元格相乘一样简单,例如指:=Sheet1!G25*Sheet1!G26。我也尝试过用这个来存储常量,并且我认为在这种情况下问题的解决方案也是相同的。这个想法是让结果不位于工作表的单元格中,这样更容易对用户隐藏,但仍然可以在工作表和 VBA 中访问。
到目前为止一切顺利,我可以在工作表中访问该值,因此我知道公式没问题,但我还想要在 VBA 中使用该值。
使用
SomeValue=Range("TestRange").Value
不起作用,但如果公式位于工作表中并且“引用:”部分是包含公式的单元格,则它确实起作用。我也尝试过使用
Somevalue=ThisWorkbook.Names("TestRange").RefersTo
没有成功。我应该做什么还是不可能?
您必须使用
Evaluate
来计算 RefersTo
,就像在单元格中一样。
Somevalue=Evaluate(ThisWorkbook.Names("TestRange").RefersTo)