我在尝试更改指定范围引用的地址。工作簿中有两个名称相同的范围,一个范围为工作簿,另一个范围为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
目标的全球命名范围?
编辑:当脚本运行时,本地作用域命名范围引用的表单处于活动状态。