
- •Введение в язык макрокоманд vba.
- •Типы данных
- •Описание констант
- •Описание переменных
- •Правила присвоения имен в языке Visual Basic
- •Старшинство операторов
- •Типы макросов.
- •Инструкции присвоения
- •Организация ветвлений. Инструкция If...Then...Else
- •If условие Then [инструкции] [Else инструкции_else]
- •Инструкция Select Case
- •Ввод и вывод информации
- •InputBox(текстовая_строка, заголовок)
- •Циклы в программе
- •Инструкция For...Next
- •Инструкция For Each...Next
- •Инструкция While….Wend
- •Объекты. Свойства. Методы.
- •Объект.Метод Инструкция Set
- •Application.Workbooks("Отчет").Worksheets("Май").Rows(2).Delete
- •Объекты Microsoft Excel
- •Объект Application
- •Объект Workbook. Свойства и Методы.
- •Объект Range
- •Строковые ссылки в стиле а1 или имена диапазонов
- •Числовые индексы строк и колонок
- •Свойства NumberFormat и WrapText
- •Свойство Offset
- •Свойства CurrentRegion и UsedRange
- •Объект Font
- •Объект Interior
Инструкция For Each...Next
Для перебора объектов из группы подобных объектов, например, ячеек из диапазона или элементов массива, удобно использовать оператор цикла For-Each-Next. Синтаксис:
For Each Элемент In Группа
блок_операторов
[Exit For]
блок_операторов
Next Элемент
элемент |
Обязательный. Переменная, используемая для выполнения итераций по элементам семейства или массива. Для семейств элемент может быть только переменной типа Variant, универсальной объектной переменной или переменной, представляющей любой конкретный объект. Для массивов элемент может быть только переменной типа Variant. |
группа |
Обязательный. Имя семейства объектов или массива (за исключением массивов с определяемыми пользователем типами). |
инструкции |
Необязательный. Одна или несколько инструкций, которые выполняются над каждым элементом группы. |
Вход в блок For...Each выполняется только в том случае, если группа содержит хотя бы один элемент. После входа в цикл все инструкции цикла выполняются для первого элемента группы. Затем, если группа содержит другие элементы, инструкции цикла выполняются для каждого элемента. После обработки всех элементов цикл завершается, а выполнение продолжается с инструкции, следующей за инструкцией Next. В любых местах цикла может размещаться любое число инструкций Exit For, позволяющих выйти из цикла. Инструкция Exit For часто применяется вместе с проверкой некоторого условия (например, If…Then). Она передает управление инструкции, непосредственно следующей за инструкцией Next.
Допускается организация вложенных циклов For...Each...Next (один цикл For...Each...Next располагается внутри другого). Однако каждый элемент цикла должен быть уникальным. Если опустить элемент в инструкции Next, выполнение продолжается так же, как если бы элемент был указан. При обнаружении инструкции Next до соответствующей инструкции For возникает ошибка.
Не допускается использование инструкции For...Each...Next с массивами, определяемых пользователями типов, поскольку значение типа Variant не может содержать тип, определяемый пользователем.
Инструкция While….Wend
Используется для организации цикла с неизвестным заранее числом шагов. Синтаксис:
While условие
блок_операторов
Wend
Повторяет выполнение группы инструкций до тез пор пока некоторое условие истина (True). Как только условие ложь (False) осуществляется выход
Объекты. Свойства. Методы.
VBA – это объектно-ориентированный язык программирования. Это означает, что основными его элементами являются объекты. Объект представляет собой элемент приложения, как например лист, ячейка, диапазон, рисунок, диаграмма, форма или отчет...
Каждый объект обладает некоторыми характеристиками или свойствами. Свойства объектов – это, в сущности, их атрибуты (параметры). Свойство представляет собой атрибут объекта, определяющий характеристики объекта, такие как размер, цвет, положение на экране или состояние объекта, например, доступность или видимость. Чтобы изменить характеристики объекта, надо просто изменить значения его свойств.
Таким образом, объект — это программный элемент, который имеет свое отображение на экране, содержит некоторые переменные, определяющие его свойства, и некоторые методы для управления объектом. Объект является "кирпичиком" построения программ VBA
Большинство объектов принадлежит к группе подобных объектов. Эти группы называются наборами. Например, все рабочие листы рабочей книги образуют набор, называемый worksheets. Наборы используются одним из двух способов: либо какое-либо действие совершается над всеми объектами набора, например, удалить, либо со ссылкой на набор выбирается конкретный объект для работы с ним. В Excel есть множество объектов, и каждый имеет свой собственный набор свойств.
Точка после имени объекта указывает на то, что далее следует имя свойства или метода. Но после точки можно указать и имя объекта для перехода от одного объекта к другому.
В VBA можно выполнять следующие действия:
исследовать текущее значение свойства объекта и производить над этим свойством некоторые действия;
изменять значение свойства объекта.
Чтобы обратиться к свойству, необходимо поместить его имя после имени объекта и воспользоваться точкой в качестве разделителя.
Изменяя свойства, можно изменять характеристики объекта или набора объектов. Установка значений свойств — это один из способов управления объектами. Для установки свойства необходимо ввести имя объекта, затем поставить точку и за ней — имя свойства. Далее должен следовать знак равенства и значение свойства. Синтаксис установки значения свойства объекта выглядит следующим образом:
Объект.Свойство = Выражение
Некоторые свойства являются неизменяемыми, т.е. допустимыми только для чтения. Имеется в виду, что значение свойства можно узнать, но не изменить. Например, для диапазона, состоящего из одной ячейки, свойства Row (строка) и Column (столбец) являются неизменяемыми. Другими словами, можно узнать, в какой строке и в каком столбце находится ячейка, но изменить ее положение путем изменения этих свойств нельзя. Синтаксис чтения свойств объекта выглядит следующим образом:
Переменная = Объект.Свойство
Кроме свойств, как уже отмечалось выше, у объектов есть ряд методов, т.е. команд, применяемых к объекту. Метод представляет собой действие, выполняемое над объектом. Синтаксис вызова объекта имеет следующий вид: