在不知道工作表名称的情况下在Excel中查找并激活命名范围

时间:2014-04-23 17:36:54

标签: excel vba excel-vba

我正在编写一个可以更新大量工作簿的宏。

假设工作簿已经打开。

我需要激活(或选择其中一个)具有名称(命名范围)的单元格,但踢球者是我不知道它所在的工作表。

换句话说: 我保证:

  • 指定范围存在。
  • 命名范围对于打开的工作簿是全局唯一的。

我无法保证:

  • 命名范围将位于同一工作表索引中。
  • 工作表在工作簿之间的名称相同。

任何建议都会受到赞赏,即使是一个告诉我如何从全局命名范围返回工作表的建议,因为这样我就可以激活工作表并从那里开始。但理想情况下,该解决方案将向我展示如何激活/选择/更新(最终结果将是我更新单元格,或者如果有帮助则在下面插入行)一个命名范围单元格而不知道工作表名称。

我在Excel 2007中这样做

谢谢!

1 个答案:

答案 0 :(得分:4)

假设您已命名范围"test"

方式1:

Dim rng As Range
Set rng = Range("test")
'or if you have more than one workbook opened
'Set rng = ThisWorkbook.Names("test").RefersToRange
'select sheet
rng.Parent.Select
'select named range
rng.Select

方式2:

'for currently active workbook
Application.Goto "test"