访问不引用 VBA 中的单元格的命名 Excel 区域的内容

Access contents of a named Excel range which does not refer to a cell in VBA

提问人:Brian Mills 提问时间:11/15/2023 最后编辑:TylerHBrian Mills 更新时间:11/15/2023 访问量:40

问:

我已经创建了一个命名范围,例如Excel中的“TestRange”,其中包含“引用”框中的公式。它可以像将 2 个单元格相乘一样简单,例如 Refer to:=Sheet1!G25*表1!26国集团。我也尝试过用它来存储常量,我认为在这种情况下,问题的解决方案也是相同的。这个想法是让结果不在工作表中的单元格中,从而更容易对用户隐藏,但仍然可以在工作表和 VBA 中访问。

到目前为止一切顺利,我可以在工作表中访问该值,因此我知道公式是可以的,但我也想要在 VBA 中使用该值。

SomeValue=Range("TestRange").Value

不起作用,尽管如果公式在工作表中并且“引用:”部分是包含公式的单元格,则它确实有效。我也尝试过使用

Somevalue=ThisWorkbook.Names("TestRange").RefersTo

没有成功。我应该做什么,还是不可能?

名为 Excel VBA 范围

评论

0赞 Slaqr 11/16/2023
命名范围的范围是否设置为工作簿?如果是这样,我希望能工作。否则,请尝试: ,其中 Sheet1 是工作表的(名称),在 VBA 编辑器中选择时,您可以在工作表的属性中查看/更改。SomeValue=Range("TestRange").ValueSomeValue=ThisWorkBook.Sheet1.Range("TestRange").Value

答:

1赞 Ike 11/15/2023 #1

您必须使用 which 将计算单元格中的类似值。EvaluateRefersTo

Somevalue=Evaluate(ThisWorkbook.Names("TestRange").RefersTo)