Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Свойство End объекта Range

    Свойство End объекта Range применяется для поиска первых и последних заполненных ячеек в VBA Excel — аналог сочетания клавиш Ctrl+стрелка.

    Свойство Range.End

    Свойство End объекта Range возвращает объект Range, представляющий ячейку в конце или начале заполненной значениями области исходного диапазона по строке или столбцу в зависимости от указанного направления. Является в VBA Excel программным аналогом сочетания клавиш — Ctrl+стрелка (вверх, вниз, вправо, влево).

    Возвращаемая свойством Range.End ячейка в зависимости от расположения и содержания исходной:

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

    Синтаксис

    Expression — выражение (переменная), представляющее объект Range.

    Параметры

    Параметр Описание
    Direction Константа из коллекции XlDirection, задающая направление перемещения. Обязательный параметр.

    Константы XlDirection:

    Константа Значение Направление
    xlDown -4121 Вниз
    xlToLeft -4159 Влево
    xlToRight -4161 Вправо
    xlUp -4162 Вверх

    Примеры

    Скриншот области рабочего листа для визуализации примеров применения свойства Range.End:

    Примеры возвращаемых ячеек свойством End объекта Range("C10") с разными значениями параметра Direction:

    Выражение с Range.End Возвращенная ячейка
    Set myRange = Range("C10").End(xlDown) Range("C16")
    Set myRange = Range("C10").End(xlToLeft) Range("A10")
    Set myRange = Range("C10").End(xlToRight) Range("E10")
    Set myRange = Range("C10").End(xlUp) Range("C4")

    Пример возвращения заполненной значениями части столбца:


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

    3 комментария для “VBA Excel. Свойство End объекта Range”

    1. Добрый день!
      Например, в столбце С стоят значения (1, 3, 8, пусто, 6,5, пусто, 4). Как прописать, что необходим переход на следующую непустую ячейку?

      1. Евгений

        Здравствуйте, Анна!
        Прописать переход вниз на непустую ячейку можно так:

    Обсуждение закрыто.