
- •15.1. Как обратиться к ячейке
- •15.2. Методы Range
- •15.2.1. Activate - активация ячейки
- •15.2.2. AddComment - добавляем комментарии к ячейкам
- •15.2.3. AutoFit - автонастройка ширины столбцов и высоты строк
- •15.2.4. Clear, ClearComments, ClearContents, ClearFormats - очистка и удаление
- •15.2.5. Copy, Cut, PasteSpecial - буфер обмена
- •15.2.6. Delete - удалить диапазон
- •15.2.7. Merge, UnMerge - объединение ячеек
- •15.2.8. Select - выделение ячейки
- •15.3. Свойства Range
- •15.3.1. Address - адрес ячейки в формате a1
- •15.3.2. Areas - работа с несмежными выделенными областями
- •15.3.3. Borders - управление границами ячеек
- •15.3.4. Cells, Columns, Rows - ячейки, столбцы, строки
- •15.3.5. CurrentRegion - область, заполненная данными
- •15.3.6. Characters, Font - форматирование текста
- •15.3.7. Formula, FormulaR1c1 - формулы в ячейках
- •15.3.8. Interior - внешний вид ячейки
- •15.3.9. Name - работа с именованными диапазонами
- •15.3.10. Value - содержимое ячейки
Работа с ячейками - объект Range
15.1. Как обратиться к ячейке
15-01-Excel Обращение к ячейкам.xlsm - пример к п. 15.1.
Мы добрались до ячеек, работа с которыми осуществляется, в основном, через объект типаRange. Выше мы немного работали с ячейками, а теперь рассмотрим их наиболее интересные методы и свойства.
Выше мы уже обращались к ячейкам в некоторых примерах. Здесь мы кратко обобщим и поясним основные способы обращения к ячейкам.
Можно адресовать ячейку или диапазон ячеек, указав их адреса в стиле A1. Здесь и далее мы используем метод Select объекта Range, который выделяетячейки (листинг 15.1.)
ActiveSheet.Range("A2").Select
Листинг 15.1. Обращаемся к ячейке по имени в стиле A1 (html,txt)
Для обращения к диапазону ячеек нужно знать верхнюю левую и нижнюю правую границы диапазона. Например, для обращения к диапазону высотой в одну строку от A2 до E2 или к диапазону A2:E4 - понадобится такой код (листинг 15.2.)
ActiveSheet.Range("A2:E2").Select
ActiveSheet.Range("A2:E4").Select
Листинг 15.2. Обращаемся к диапазонам (html, txt)
Можно воспользоваться конструкцией с использованием объекта Cells, который позволяет обращаться к отдельной ячейке по ее индексу в формате R1C1. Чтобы обратиться к ячейкеA5 таким способом, нужно заметить, что она расположена в пятой строке и первом столбце (листинг 15.3.):
ActiveSheet.Cells(5,1).Select
Листинг 15.3. Обращаемся к ячейке по номеру строки и столбца (html, txt)
Можно объединить использование Range и Cells, указав координаты ячеек при адресации диапазона с помощью Cells (листинг 15.4.).
ActiveSheet.Range(Cells(5, 4), _
Cells(7, 5)).Select
Листинг 15.4. Обращение к диапазону с использованием комбинации Range и Cells (html, txt)
Нам уже встречалось использование Cells для доступа к группам ячеек в цикле - в качестве индексов ячеек можно использовать переменные (листинг 15.5.)
For i = 1 To 3
For j = 1 To 3
ActiveSheet.Cells(i, j).Select
Application.Wait (Now + _
TimeValue("0:00:01"))
p = p + 1
Selection = p
Next j
Next i
ActiveSheet.Range("A1:E5").Clear
Листинг 15.5. Обращение к ячейкам в цикле (html, txt)
Здесь мы циклически выделяем ячейки диапазона A1:C3, делая задержку на 1 секунду после каждого выделения и выводя количество прошедших с начала работы программы секунд. Здесь мы воспользовались для выделения ячейки уже знакомым вам методом Select, а для ввода данных в выделенную ячейку применили объект Selection, который в данном случае ссылается на выделенную ячейку. В конце мы очистили диапазон A1:E5 от введенных данных.
Объект Selection - это еще один способ работы с ячейками, однако он используется сравнительно редко, так как к ячейкамудобнее обращаться по их именам.
Выше мы использовали прямое обращение к ячейкам активного листа, без использования объектных переменных.)
Dim obj_MyCell As Range
Set obj_MyCell = ActiveSheet.Cells(5, 5)
obj_MyCell.Select
Листинг 15.6. Объектная переменная и работа с ячейками (html, txt)
Помимо обращения к отдельным ячейкам или их диапазонам, Excel предусматривает возможность обращения к строкам и столбцам, а так же - к листу целиком.
В листинге 15.7 мы сначала выделяем столбец A, потом столбец B, используя коллекцию Columns (столбцы), 3-ю строку, используя коллекцию Rows (строки) а далее - лист целиком.
ActiveSheet.Range("A:A").Select
ActiveSheet.Columns("B:B").Select
ActiveSheet.Range("3:3").Select
ActiveSheet.Rows("4:4").Select
ActiveSheet.Cells.Select
Листинг 15.7. Работа со столбцами, строками и всеми ячейками листа (html, txt)
Еще один способ обращения к ячейкам - применение именованных диапазонов (коллекция Names ) мы рассмотрим ниже. А теперь поговорим о методах и свойствах объекта Range.