在 VBA 中使用命名范围

创建分配给单元 A1 的名为 MyRange 的新命名范围

ThisWorkbook.Names.Add Name:="MyRange", _
    RefersTo:=Worksheets("Sheet1").Range("A1")

**** 按名称删除已定义的命名范围

ThisWorkbook.Names("MyRange").Delete

**** 按名称访问命名范围

Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("MyRange")
Call MsgBox("Width = " & rng.Value)

使用快捷方式访问命名范围

与任何其他范围一样 ,可以通过不需要创建 Range 对象的快捷方式表示法直接访问命名范围。上面代码摘录中的三行可以替换为一行:

Call MsgBox("Width = " & [MyRange])

注意:Range 的默认属性是 Value,因此 [MyRange][MyRange].Value 相同

你也可以在范围内调用方法。以下选择 MyRange

[MyRange].Select

注意:需要注意的是,快捷方式符号不适用于 VBA 库中其他位置使用的单词。例如,名为 Width 的范围将无法作为 [Width] 访问,但如果通过 ThisWorkbook.Worksheets("Sheet1").Range("Width") 访问,则可以按预期工作