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

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

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

    Свойство Application.Selection

    Свойство Selection объекта Application возвращает выбранный в настоящее время объект на активном листе в активном окне приложения Excel. Если объект не выбран, возвращается значение Nothing.

    Если выделить на рабочем листе диапазон «B2:E6», то обратиться к нему из кода VBA Excel можно через свойство Selection объекта Application, например, присвоить выбранный диапазон объектной переменной:

    При использовании свойства Selection в коде VBA Excel указывать объект Application не обязательно. Результат работы кода:

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

    Применение функции TypeName

    Для программного выбора объекта в VBA Excel используется метод Select, а для определения типа ранее выбранного объекта — функция TypeName.

    TypeName — это функция, которая возвращает данные типа String, предоставляющие информацию о типе переменной или типе объекта, присвоенного объектной переменной.

    Выберем диапазон «D5:K9» методом Select и определим тип данных выбранного объекта с помощью функции TypeName:

    В качестве переменной для функции TypeName здесь используется свойство Selection. Результат работы кода:

    Следующий пример кода VBA Excel очень хорошо иллюстрирует определение типа выбранного объекта с помощью функции TypeName. Он взят с сайта разработчиков, только в блок Select Case добавлены еще два элемента Case:

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

    Пример рабочего листа без выбранного объекта: лист диаграммы, на котором диаграмма не выбрана (выделение снимается кликом по одному из полей вокруг диаграммы). Для такого листа в информационном окне MsgBox будет выведено сообщение: Выбран объект: Nothing.

    Свойство Selection при выборе листа

    Если метод Select применить к рабочему листу, то свойство Application.Selection возвратит объект, который ранее был выбран на данном листе. Проверить это можно с помощью следующего примера:

    Свойство Selection при выборе книги

    Выбрать рабочую книгу Excel методом Select невозможно, так как у объекта Workbook в VBA нет такого метода. Но мы можем выбрать книгу, сделав ее активной с помощью метода Activate:

    В данном случае, свойство Application.Selection возвратит объект, который ранее был выбран на активном листе активированной книги.

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


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