Адрес выделенного диапазона

Программирование на Visual Basic for Applications
kuguar
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 30.04.2005 (Сб) 10:23

Адрес выделенного диапазона

Сообщение kuguar » 15.01.2007 (Пн) 13:19

Поиск по форуму результатов не дал,
хотя наверняка вопрос обсуждался, поэтому извините, но всё-таки:

Как из VBA узнать адреса верхней левой и нижней правой ячеек выделенного диапазона,
и что будет, если выделить не связанные диапазоны ( с зажатым Ctrl)?

Genyaa
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 17.10.2006 (Вт) 13:46

Сообщение Genyaa » 15.01.2007 (Пн) 14:00

Selection.Address или ActiveWindow.RangeSelection.Address - адрес (адреса через запятую) выделенной области в тектовом виде (можно управлять параметрами, чтобы выдать адрес в нужном виде).

Если выделенных областей больше одной, то коллекция Areas возвращает все области поотдельности:

ActiveWindow.RangeSelection.Areas.Count - количество выделенных областей в выделении
ActiveWindow.RangeSelection.Areas(2).Address - адрес второй выделенной области в выделении

ActiveWindow.RangeSelection.Areas(2).Row - номер первой строки во второй области выдления
ActiveWindow.RangeSelection.Areas(2).Column - номер первого столбца во второй области выделения
ActiveWindow.RangeSelection.Areas(2).Rows.Count - кол-во строк во второй области выделения
ActiveWindow.RangeSelection.Areas(2).Columns.Count - кол-во столбцов во второй области выделения

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

kuguar
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 30.04.2005 (Сб) 10:23

Сообщение kuguar » 15.01.2007 (Пн) 18:28

Большое спасибо! :wink:


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 90

    TopList