我在嘗試更改指定範圍引用的地址。工作簿中有兩個名稱相同的範圍,一個範圍爲工作簿,另一個範圍爲SheetA
。我使用此代碼:試圖設置全局命名範圍,但本地範圍結束了設置?
Sub changeNamedRangeAddress(bk As Workbook, rangeName As String, newRange As Range)
bk.Names(rangeName).RefersTo = newRange
End Sub
當我看到在立即窗口bk.Names(rangeName)
價值,這似乎是引用該名稱的全球版本,因爲下面的返回true:
?typeof bk.Names(rangeName).Parent is Workbook
但子運行後,本地範圍的版本地址已更改爲newRange.address
的地址,全局範圍保持不變。
還有什麼我可以做的,以確保.RefersTo
目標的全球命名範圍?
編輯:當腳本運行時,本地作用域命名範圍引用的表單處於活動狀態。