- •Лекция 5. Объектная модель vba
- •Разработка приложений
- •Этапы разработки приложения
- •Определение потребностей пользователя
- •Проектирование приложения
- •Разработка интерфейса
- •Разработка приложения
- •Тестирование и отладка
- •Разработка документации и справочной системы
- •Установка приложения
- •Обновление приложения
- •Объектно-ориентированное программирование
- •Свойства, методы и события
- •Иерархия коллекций и объектов
- •Некоторые полезные свойства объекта Application
- •Работа с объектами Range
- •Задание диапазона
- •Свойства объекта Range
- •Методы объекта Range
- •Примеры работы с объектом Range
- •Параметры свойств и методов в языке vba
Работа с объектами Range
Работа, которая выполняется с помощью VBA, в основном связана с управлением ячейками и диапазонами на рабочих листах, что является главным предназначением редактора электронных таблиц. Объект Worksheet, представляющий рабочий лист, имеет свойствоRange, возвращающее одноимённый объект, представляющий одну ячейку или диапазон ячеек. Одна ячейка, возвращаемая, например, свойствамиActiveCellилиCells, также является диапазоном – минимально возможным диапазоном.
Задание диапазона
Для задания диапазона используется следующий синтаксис.
объект.Range(ячейка)
объект.Range(ячейка1,ячейка2)
Ячейка– это параметр, идентифицирующий диапазон, аячейка1иячейка2– параметры, очерчивающие диапазон, т.е. они задают левый верхний и правый нижний угол диапазона. При этом под ячейкой может подразумеваться не одна ячейка. Чтобы пояснить сказанное, приведём несколько примеров. Поскольку перед именемRangeничего не стоит, подразумевается диапазон на активном рабочем листе –ActiveSheet.
Range("B5").Select'Выделение одной ячейки B5
Range("A1:D10").Select'Выделение диапазона ячеек от ячейки A1 до ячейки D10
Range("A1", "D10").Select'Аналогично предыдущему примеру
Range("A1:B2", "D10:G12").Select'Выделение диапазона ячеек от ячейки A1 до ячейки G12
Range("A:D").Select'Выделение первых четырёх столбцов рабочего листа
Range("1:10").Select'Выделение первых десяти строк рабочего листа
Range("A:D1:10").Select'Выделение диапазона ячеек от ячейки A1 до ячейки D10. 'Пробел – оператор пересечения диапазонов
Range("A1,D10").Select'Выделение двух несвязанных ячеек A1 и D10.
'Запятая – оператор объединения диапазонов
Свойства объекта Range
Свойство |
Описание |
Address |
Возвращает строку, содержащую ссылку на диапазон |
Cells |
Позволяет выделить ячейку диапазона по относительному номеру строки и номеру столбца |
Columns |
Возвращает объект Range, представляющий столбцы диапазона |
ColumnsWidth |
Возвращает или устанавливает ширину столбцов диапазона |
Count |
Возвращает количество объектов в коллекции |
Formula |
Возвращает или устанавливает формулу ячейки в формате A1 |
FormulaLocal |
Возвращает или устанавливает формулу ячейки в формате A1 на языке пользователя |
FormulaR1C1 |
Возвращает или устанавливает формулу ячейки в формате R1C1 |
FormulaR1C1Local |
Возвращает или устанавливает формулу ячейки в формате R1C1 на языке пользователя |
HasFormula |
Свойство принимает значение True, если все ячейки диапазона содержат формулы, значение False, если ни одна ячейка не содержит формулу, и значение null в противном случае |
MergeCell |
Свойство принимает значение True, если диапазон находится внутри объединённых ячеек |
Name |
Возвращает или устанавливает имя диапазона |
NumberFormat |
Возвращает или устанавливает числовой формат для ячеек диапазона |
Offset |
Возвращает объект Range, который смещен от текущего на указанное количество строк и столбцов |
RowHeight |
Возвращает или устанавливает высоту строк диапазона |
Rows |
Возвращает объект Range, представляющий строки диапазона |
Value |
Возвращает или устанавливает значение для диапазона |