在 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") 訪問,則可以按預期工作