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

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

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

Код: Выделить всё

Sub mas_all()
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
End Sub
Но, если диапазон состоит из одной строки или одного столбца, выделение простирается дальше до конца книги.
Необходимо чтобы также выделялся диапазон, состоящий из одной строки или одного столбца.
Как это сделать, у кого какие соображения :?:
sergvk
Сообщения: 129
Зарегистрирован: 21 июн 2005, 14:33
Откуда: Крым, Феодосия
Контактная информация:

смотри: forum/viewtopic.php?t=4592&highlight=%E ... 1%F2%FB%F5
подобная тема :)
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

проверять первую соседнюю ячейку до выделения на непустоту?
Изображение
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

Спасибо за идею, получилось и вроде работает...

Код: Выделить всё

Sub Автовыделение()
    Dim r1 As Range
    Set r1 = Selection
    If Selection(2, 1).Value <> "" Then Set r1 = Range(r1, r1.End(xlDown))
    If Selection(1, 2).Value <> "" Then Set r1 = Range(r1, r1.End(xlToRight))   
    r1.Select
End Sub
Ответить