Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КонспектVBA.doc
Скачиваний:
17
Добавлен:
07.03.2016
Размер:
200.7 Кб
Скачать

Инструкция 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 (столбец) являются неизменяемыми. Другими словами, можно узнать, в какой строке и в каком столбце находится ячейка, но изменить ее положение путем изменения этих свойств нельзя. Синтаксис чтения свойств объекта выглядит следующим образом:

Переменная = Объект.Свойство

Кроме свойств, как уже отмечалось выше, у объектов есть ряд методов, т.е. команд, применяемых к объекту. Метод представляет собой действие, выполняемое над объектом. Синтаксис вызова объекта имеет следующий вид: