Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа_с_ячейками_объект_R...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
278.53 Кб
Скачать

Работа с ячейками - объект 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. Обращаемся к диапазонам (htmltxt)

Можно воспользоваться конструкцией с использованием объекта Cells, который позволяет обращаться к отдельной ячейке по ее индексу в формате R1C1. Чтобы обратиться к ячейкеA5 таким способом, нужно заметить, что она расположена в пятой строке и первом столбце (листинг 15.3.):

ActiveSheet.Cells(5,1).Select

Листинг 15.3. Обращаемся к ячейке по номеру строки и столбца (htmltxt)

Можно объединить использование Range и Cells, указав координаты ячеек при адресации диапазона с помощью Cells (листинг 15.4.).

ActiveSheet.Range(Cells(5, 4), _

Cells(7, 5)).Select

Листинг 15.4. Обращение к диапазону с использованием комбинации Range и Cells (htmltxt)

Нам уже встречалось использование 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. Обращение к ячейкам в цикле (htmltxt)

Здесь мы циклически выделяем ячейки диапазона 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. Объектная переменная и работа с ячейками (htmltxt)

Помимо обращения к отдельным ячейкам или их диапазонам, 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. Работа со столбцами, строками и всеми ячейками листа (htmltxt)

Еще один способ обращения к ячейкам - применение именованных диапазонов (коллекция Names ) мы рассмотрим ниже. А теперь поговорим о методах и свойствах объекта Range.