Excel VBA, Get the value of a private worksheet constant
我想通过 VBA 检索工作表代码级私有常量的值。我正在尝试做一些类似于在我的工作表上放置"标签"的事情,这些工作表可以通过 VBA 访问。我想在 VBAProject 中使用 CodeModule,这样我就可以拥有多个"标签",而不仅仅是一个。即使在网上查看了很多代码和论坛之后,我也无法弄清楚如何获取常量。有人对此有任何见解吗?我在 Windows 8.1 机器上运行 Excel 2013。
也许最简单的方法是拥有一个函数,该函数可以使用公共访问器方法获取私有常量的值。例如,如果您的工作表中有以下代码
1 2 3 4 5 | Private Const myValue ="the answer is 42" Public Function getSecret() getSecret = myValue End Function |
然后你可以从另一个模块访问它
1 2 3 4 | Sub test() Dim sheetName ="Sheet1" MsgBox"The sheet says that" & Sheets(sheetName).getSecret() End Sub |
你可以让这个更有趣——你可以创建一个标签集合并索引主题€|但我认为这超出了你的问题。请注意,当访问器宏位于工作表中时,您必须"完全限定"访问器宏的名称;优点是您可以使用相同的功能来检查不同工作表的标签,只需更改
我会将代码导出为 .BAS 文件。然后,您可以将材料作为文本文件读回并检索常量