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

VBA Excel. Свойство ActiveCell объекта Application

    Свойство ActiveCell объекта Application, применяемое в VBA для возвращения активной ячейки, расположенной на активном листе в окне приложения Excel.

    Свойство Application.ActiveCell

    Свойство ActiveCell объекта Application возвращает объект Range, представляющий активную ячейку на активном листе в активном или указанном окне приложения Excel. Если окно не отображает лист, применение свойства Application.ActiveCell приведет к ошибке.

    Если свойство ActiveCell применяется к активному окну приложения Excel, то идентификатор объекта (Application или ActiveWindow) можно в коде VBA Excel не указывать. Следующие выражения, скопированные с сайта разработчиков, являются эквивалентными:

    Но если нам необходимо возвратить активную ячейку, находящуюся в неактивном окне приложения Excel, тогда без указания идентификатора объекта на обойтись:

    Программно сделать ячейку активной в VBA Excel можно с помощью методов Activate и Select.

    Различие методов Activate и Select

    Выберем программно диапазон «B2:E6» методом Select и выведем адрес активной ячейки:

    Результат:

    Как видим, активной стала первая ячейка выбранного диапазона, расположенная слева вверху. Если мы поменяем местами границы диапазона (Range("E6:B2").Select), все равно активной станет та же первая ячейка.

    Теперь сделаем активной ячейку «D4», расположенную внутри выделенного диапазона, с помощью метода Activate:

    Результат:

    Как видим, выбранный диапазон не изменился, а активная ячейка переместилась из первой ячейки выделенного диапазона в ячейку «D4».

    И, наконец, выберем ячейку «D4», расположенную внутри выделенного диапазона, с помощью метода Select:

    Результат:

    Как видим, ранее выбранный диапазон был заменен новым, состоящим из одной ячейки «D4». Такой же результат будет и при активации ячейки, расположенной вне выбранного диапазона, методом Activate:

    Аналогично ведут себя методы Activate и Select при работе с выделенной группой рабочих листов.

    Свойство Application.ActiveCell используется для обращения к одной ячейке, являющейся активной, а для работы со всеми ячейками выделенного диапазона используется свойство Application.Selection.


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

    2 комментария для “VBA Excel. Свойство ActiveCell объекта Application”

    1. Мубинджон

      Здравствуйте. Для чего нужны свойства «активная ячейка», практически?
      Что такое объект Application?
      С объектом Range понятно описывает ячейку и/или диапазон(группа) ячеек.

      1. Евгений

        Добрый день, Мубинджон!
        Application — это экземпляр приложения Excel, в котором открыта ваша книга. Свойство ActiveCell позволяет обращаться к активной ячейке без указания ее адреса. Пример:

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