Я пытаюсь изменить адрес, на который ссылается именованный диапазон. В книге с одним и тем же именем есть два диапазона, один из которых относится к книге, а другой - к 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
нацелен на глобальный именованный диапазон?
РЕДАКТИРОВАТЬ: Лист, на который ссылается область, называемая локальным областью действия, активен при запуске этого скрипта.