在 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")
访问,则可以按预期工作