Шаг 65 - Выделение диапазона выше текущей ячейки
Задача выделить диапазон выше текущей ячейки:
А вот и код с комментариями:
Sub SelectColumnData() ' что делать при ошибке On Error GoTo errors ' нижний адрес Dim a1 As String ' верхний адрес Dim a2 As String ' диапазон Dim ran As Range' если не верхняя ячейка If (ActiveCell.Row 1) Then ' пойти вверх ActiveCell.Offset(-1, 0).Select ' взять адрес ячейки a1 = ActiveCell.Address ' будем подниматься For x = 1 To (ActiveCell.Row - 1) ' на одну вверх ActiveCell.Offset(-1, 0).Select ' если не число выход If IsNumeric(ActiveCell.Value) True Then ' на одну вниз ActiveCell.Offset(1, 0).Select ' выход GoTo nexts End If ' если пустая If IsEmpty(ActiveCell.Value) = True Then ' на одну вниз ActiveCell.Offset(1, 0).Select ' выход GoTo nexts End If Next x nexts: ' получаем адрес вырехней a2 = ActiveCell.Address ' строим диапазон Set ran = Range(a1 + ":" + a2) ' выделяем ran.Select End If ' выходим из процедуры Exit Sub ' ошибка, зовем на помощь errors: MsgBox "Ошибка сообщите разработчику" End Sub
А вот и результат:
Предыдущий Шаг | Следующий Шаг
Автор Каев Артем.