Я установил именованный диапазон, назовем его RngIn.
У него 3 клетки, и его адрес относится к A1: A3
Далее я удаляю строку 2.
Мой RngIn теперь показывает #REF! ошибка (правильно) в свойстве RefersTo:
"= A1, Лист1! #REF! А2"
Это означает, что я не могу манипулировать остальной частью этого именованного диапазона с помощью VBA из-за метода «Range» ошибки глобального объекта.
Диапазон создается во время процесса, и если впоследствии пользователю по какой-либо причине потребуется удалить одну строку, мой будущий код завершится ошибкой, поскольку ему необходимо знать, где находятся остальные данные именованного диапазона ...
Я пробовал много способов получить доступ к информации об оставшемся адресе для этого диапазона в VBA, но до сих пор не получилось, например,
Dim RngAddress As String
Dim RngIn As Range
Set RngIn = Range("A1:A3")
RngAddress = RngIn.Address
RngAddress = RngIn.RefersToRange.Address
RngAddress = RngIn.RefersTo
RngAddress = Replace(RngIn.Address, "Sheet1!#REF!", "")
В идеале я хочу видеть в текстовой строке результат для RngIn:
«= А1, А2»
Потому что A2 - это местоположение данных, которые изначально были в A3.