Может ли кто-нибудь сказать мне, как использовать RefersToRange в vba? и что и когда это нужно.Как использовать RefersToRange?
Сначала укажите простой пример.
Заранее спасибо.
Может ли кто-нибудь сказать мне, как использовать RefersToRange в vba? и что и когда это нужно.Как использовать RefersToRange?
Сначала укажите простой пример.
Заранее спасибо.
В Excel существует концепция с именем range, то есть диапазон ячеек, к которому прикреплено имя. Это представлено объектом Name.
RefersToRange метод:
Возвращает Range объект, на который ссылается объект Name.
Например, допустим, что я хочу читать значения только в области печати текущего рабочего листа. Мне нужен объект Name
, чтобы получить доступ к области печати, но я ничего не могу с этим поделать; если я хочу сделать что-то полезное у меня есть доступ к диапазону ячеек, указанных под этим именем:
Dim n As Name
Set n = ActiveWorkbook.Names("Print_Area")
Dim rng As Range
Set rng = n.RefersToRange
Dim values() As Variant
values = rng 'I can't read values with a Name object, but I can with a Range object
RefersToRange есть, один из многих способов, к «точке» диапазону. Например,
ThisWorkbook.Names("DownloadPictures").RefersToRange = "yes"
код выше, указывает на диапазон, который может быть клетка, названная «DownloadPictures» и устанавливает его значение «да». В самом деле, я бы предпочел использовать,
ThisWorkbook.range("DownloadPictures").Value = "yes"
«Имя» в MS Excel аналогична переменной типа Variant, но в отличие от переменных, которые вы «Dim» в коде VB, «Имя 'используется только (или вы можете считать, что он используется только) в книге. «Имя» и переменные не мешают друг другу.
Если вы откроете «Менеджер имен», концепция станет понятной. Имя может быть создано для ссылки на ячейку, диапазон ячейки (диапазон), некоторое значение (так называемое постоянное) или формулу.
Каждый объект Name представляет собой определенное имя для диапазона ячеек. Именами могут быть либо встроенные имена, такие как Database, Print_Area и Auto_Open или пользовательские имена. --- MSDN
Как имя может относиться к диапазону, константе или формуле .RefersToRange
конкретно относится к диапазону. И верните false, если не так.
Я уже проверил msdn и его все еще неясный для меня. Вот почему я опубликовал здесь. Пожалуйста, представьте свой пример и объясните, что происходит. Благодаря! –
@PraveenBehera Обновлено. –
Отлично, он работал благодаря @Zev Spitz –