详细地说,假设我的工作簿中有两个命名范围。两个命名范围具有相同的名称(比如说“myName”),但一个范围限定为 Sheet1,另一个范围限定为工作簿。
给定命名范围的名称(字符串),我想获取工作簿级别的命名范围。
如果我使用本机调用:wb.Names.Item("myName")
,它将返回工作表范围的命名范围。
相反,如果我这样做:wb.Names.Item("Sheet1!myName")
,那显然会返回工作表范围的名称范围。我发现我可以使用它来指定特定于工作表的工作表,但不能指定工作簿。
无论如何我可以指定我想要工作簿范围吗?
我的解决方法目前正在遍历所有名称的列表,并比较 .Name 属性以获取工作簿范围命名范围。这是因为 .Name 属性附加了一个“Sheet1!”。到工作表范围命名范围。然而,这样做成本很高,我想避免它。