Рассмотрим каким образом мы можем работать с диапазоном. Для этого в Excel существует объект Range, включающий в себя как диапазоны ячеек, так и одну отдельную ячейку. Давайте посмотрим, какие действия мы можем делать над диапазоном.
Сначала попробуем выделить диапазон и определить его параметры:
Sub Test2() 'moonexcel.com.ua 'объявим переменную типа Range Dim cur_range As Range 'объект Range включает выделенный диапазон Set cur_range = Selection 'отобразим адрес диапазона, кол-во колонок и строк в окне Immediate Debug.Print cur_range.Address Debug.Print cur_range.Columns.Count Debug.Print cur_range.Rows.Count End Sub
Данным кодом мы присвоили нашему диапазону cur_range выделены ячейки. Далее, с помощью функции Debug.Print отобразили параметры диапазона в окне предварительного просмотра значений Immediate.
Видим, что адрес диапазона $C$1:$E$5, кол-во колонок - 3 , кол-во строк - 5.
Давайте рассмотрим как можно выделить наш диапазон другим способом. Для этого воспользуемся .UsedRange
Sub Test() 'moonexcel.com.ua Dim cur_range As Range Set cur_range = ActiveSheet.UsedRange Debug.Print cur_range.Address End Sub
Преимущество данного способа в том, что Вам не нужно выделять диапазон вручную, за Вас это сделает Excel, который проанализирует какие ячейки имеются заполненные в листе, и выберет только их.