Страница 1 из 1

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

Добавлено: 22 дек 2005, 08:46
Avsha
Выделили ячейку, по нажанию кнопки в панели управления выполнили макрос, который выделит непрерывный диапазон справа и вниз.
Имеем следующий код...

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

Sub mas_all()
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
End Sub
Но, если диапазон состоит из одной строки или одного столбца, выделение простирается дальше до конца книги.
Необходимо чтобы также выделялся диапазон, состоящий из одной строки или одного столбца.
Как это сделать, у кого какие соображения :?:

Добавлено: 22 дек 2005, 10:08
sergvk
смотри: forum/viewtopic.php?t=4592&highlight=%E ... 1%F2%FB%F5
подобная тема :)

Добавлено: 22 дек 2005, 10:44
Игорь Акопян
проверять первую соседнюю ячейку до выделения на непустоту?

Добавлено: 22 дек 2005, 11:05
Avsha
Спасибо за идею, получилось и вроде работает...

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

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