Диапазоны и умение работать с ними в программе VBA является одним из основных навыков. При работе с таблицами (форматирование, копирование значений, сравнивание их) без умения задать диапазон, выгрузить значения из диапазона и т.п. работа никогда не будет эффективной и производительной. Поэтому в этой статье, мы рассмотрим основные принципы работы с диапазонами.
1. Определение границ диапазона с помощью кода VBA
На языке программирования границы диапазона задаются следующими командами:
CurrentRegion
CurrentRegion - аналог команды Ctrl+A. С помощью этой команды автоматически выделяется диапазон, не имеющий разрывов ни по строкам ни по столбцам
Пример кода с командой CurrentRegion:
Sub выделить_диапазон ()
dim r as Range
set r = selection ' присваиваем переменной r выделенную ячейку
set r = r.CurrentRegion 'расширяем диапазон по строкам и столбцам до ячеек, в которых отсутствуют какие-либо значения
r.Select - выделяем полученный в результате команды диапазон
End Sub
UsedRange
Данная команда позволяет выбирать весь диапазон между верхней левой и нижней правой заполненными ячейками.
Sub выделить_диапазон ()
dim r as Range
set r = ActiveSheet.UsedRange 'на активном листе, в диапазон включаются ячейки расположенные между верхней левой и нижней правой ячейками
r.Select - выделяем полученный в результате команды диапазон
End Sub
EntireRow
Данная команда выделяет всю строку, в которой расположена выделенная ячейка
Sub выделить_диапазон ()
dim r as Range
set r = selection ' присваиваем переменной r выделенную ячейку
set r = r.EntireRow 'диапазон расширяется на всю строку, в которой находилась выделенная ячейкка
r.Select - выделяем полученный в результате команды диапазон
End Sub
EntireColumn
Команда аналогичная команде EntireRow, только все действия производятся со столбцом