Шаг 73 - Выделенный диапазон Выше ячейки, второй метод
Добрый день!
Мне очень понравился Ваш сайт. Большое Вам за него спасибо! Особенно привлекательным его делает то, что различные среды программирования Вы рассматриваете не только по отдельности, но также разбираете связь между ними, например, написание DLL для Excel в VC++.
Однако, некоторые примеры вызывают возражения. Вот, скажем, задача выделить диапазон выше текущей ячейки (см. "Шаг 65 - Выделение диапазона выше текущей ячейки"). По-моему, слишком длинное решение такой простой задачи. Я бы это сделал так, воспользовавшись методом Union:
Sub SelectColumnData() If ActiveCell.Row = 1 Then Exit Sub If ActiveCell.Offset(-1, 0) <> "" Then ActiveCell.Offset(-1,0).Activate If ActiveCell.Row = 1 Then Exit Sub Do While Not ActiveCell.Offset(-1, 0) = "" Union(Selection, ActiveCell.Offset(-1, 0)).Select If ActiveCell.Row = 1 Then Exit Do Loop End Sub
Задача очень простая, не правда ли, и решается четырьмя строками кода (за исключением трех if, которые отсекают выход за пределы листа). Переменные совсем не нужны, как это очень часто бывает в VBA.
Гуляев Александр [email protected]
Предыдущий Шаг Автор Каев Артем.