VBA Excel. Свойство Range.CurrentRegion

    Свойство CurrentRegion объекта Range, возвращающее в VBA Excel текущий прямоугольный диапазон ячеек, ограниченный пустыми строками и пустыми столбцами.

    Свойство Range.CurrentRegion

    Определение

    CurrentRegion — это свойство ячейки (объекта Range), которое в VBA Excel возвращает прямоугольный диапазон смежных ячеек (текущий диапазон), ограниченный любым сочетанием пустых строк и пустых столбцов.

    Другими словами: границы возвращенного свойством Range.CurrentRegion диапазона определяются указанной ячейкой и смежными с ней и между собой непустыми ячейками. Смежными считаются, в том числе, и непустые ячейки по диагонали. Так как возвращается прямоугольный диапазон, он может включать в себя пустые ячейки, которые дополняют произвольный диапазон непустых ячеек до прямоугольного.

    Синтаксис

    Expression — выражение (переменная), возвращающее объект Range, состоящий из одной ячейки. Если Expression возвращает диапазон, состоящий из двух и более ячеек, то для определения текущего диапазона используется первая ячейка возвращенного диапазона.

    Примеры кода с CurrentRegion

    Примеры кода VBA Excel со свойством Range.CurrentRegion будем демонстрировать на следующем диапазоне с заполненными и незаполненными ячейками:

    Пример 1

    Зависимость возвращенного диапазона (CurrentRegion) от указанной ячейки (диапазона):

    Обратите внимание, что результат выполнения последней строки кода до End Sub$A$1:$F$7 — содержит внизу пустую строку A7:F7. Это строка, в которую входит изначально указанная ячейка C7.

    Пример 2

    Присвоение ссылки на диапазон, возвращенный свойством Range.CurrentRegion, объектной переменной и извлечение некоторых свойств возвращенного диапазона:


    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    2 комментария для “VBA Excel. Свойство Range.CurrentRegion”

    1. Добрый день!

      Подскажите, пожалуйста, у меня также есть таблица похожая на вашу. Но большая её часть заполнена формулами. Например в B7 вводим формулу =ЕСЛИОШИБКА(A7;""). То есть там стоит "", но в ячейке в результате выполнения формулы пусто. При этом код:

      Будет выдавать $A$1:$F$7

      А мне такого не надо. Как такое избежать?

      1. Евгений

        Здравствуйте, Андрей!
        Вам может подойти следующий код:

    Добавить комментарий

    Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.