我正在处理一个项目,该项目要求我根据数组中某个位置的值选择工作表。我用值填充了desArr()
(String类型),desArr(0)
包含了我想要引用的表的名称。为了避免用户更改标签名称和弄乱代码的问题,我试图引用工作表的CodeName。使用数组引用名称属性
通常情况下,我能做到这一点:其中被列在VB编辑器的(Name)
属性指定Import
ThisWorkbook.Worksheets(Import.Name)
。但是,现在我想要根据desArr(0)
的值输入输入名称。我试图做以下但无济于事:
ThisWorkbook.Worksheets(desArr(0).Name)
ThisWorkbook.Worksheets(desArr(0) & ".Name")
有没有人有任何想法如何解决这个问题?
ThisWorkbook.Worksheets(desArr(0))? – dee
感谢您的回复!但是,这只会引用工作表的标签名称。因此,如果工作簿中的某个选项卡是“导出”并且desArr(0)包含“导出”,那么它将起作用。我想要实现的是调用工作表的名称属性,该属性可能与选项卡名称相同也可能不同。有任何想法吗? – user3715632
也许收集工作表对象而不是他们的名字会更容易?如果在数组中有工作表对象而不是名称,则可以调用desArr(0).Name请注意,如果您已适当设置工作表,则不需要“ThisWorkbook.WorkSheets”部分。 – CodeJockey