【发布时间】:2014-06-06 15:31:08
【问题描述】:
我正在开展一个项目,该项目需要我根据数组中某个位置的值来选择工作表。我已经用值填充了desArr()(字符串类型),desArr(0) 包含我要引用的工作表的名称。为了避免用户更改选项卡名称和弄乱代码的问题,我试图引用工作表的 CodeName。
通常,我可以这样做:
ThisWorkbook.Worksheets(Import.Name)
Import 在 VB 编辑器的 (Name) 属性下指定。但是,我现在想可变地引用该名称,就像在输入中取决于desArr(0) 的值一样。我尝试执行以下操作但无济于事:
ThisWorkbook.Worksheets(desArr(0).Name)
ThisWorkbook.Worksheets(desArr(0) & ".Name")
有人知道如何解决这个问题吗?
【问题讨论】:
-
ThisWorkbook.Worksheets(desArr(0))?
-
感谢您的回复!但这只会引用工作表的选项卡名称。因此,如果我在工作簿中的一个选项卡是“export”并且 desArr(0) 包含“export”,那么它会起作用。我想要实现的是调用工作表的 Name 属性,它可能与选项卡名称相同也可能不同。有什么想法吗?
-
也许收集工作表对象而不是它们的名称会更容易?如果数组中有工作表对象而不是名称,则可以调用 desArr(0).Name 请注意,如果您已正确设置工作表,则不需要
ThisWorkbook.WorkSheets部分。