- •«Программирование линейных алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Ход работы:
- •Варианты заданий:
- •Организация ввода-вывода информации.
- •Краткие теоретические сведения
- •Ход работы
- •2. Выполните задачи для самостоятельного решения
- •«Программирование разветвляющихся алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Ход работы
- •Задания для выполнения лабораторной работы:
- •«Программирование циклических алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Инструкция For...Next
- •Инструкция While...Wend
- •Инструкция Do...Loop
- •Инструкция For Each...Next
- •Ход работы:
- •Задания:
- •«Программирование алгоритмов с массивами на языке vba»
- •Ход работы:
- •«Программирование функций обработки строк на языке vba»
- •Краткие теоретические сведения:
- •Задания для выполнения лабораторной работы
- •«Изучение объектной модели excel»
- •Краткие теоретические сведения:
- •Объект Workbook.
- •Объект Worksheet.
- •Ход выполнения работы:
- •«Обработка событий»
- •Краткие теоретические сведения:
- •Использование процедур событий
- •Реагирование на изменения в рабочем листе
- •События Change и SheetChange
- •Ход выполнения работы:
- •«Создание пользовательской формы»
- •Краткие теоретические сведения
- •«Использование элементов управления»
- •Краткие теоретические сведения:
Инструкция Do...Loop
Инструкция Do...Loop имеет два варианта синтаксиса:
В первом варианте условие проверяется в начале цикла.
Во втором варианте условие проверяется после выполнения инструкций тела цикла.
При использовании ключевого слова While цикл будет выполняться, пока условие имеет значение True, со словом Until — пока условие не примет значение True.
По сравнению с предыдущей, эта инструкция обеспечивает более структурированный и гибкий способ организации циклов.
Первый вариант синтаксиса инструкции Do...Loop:
Do [{While | Until} Условие]
[Инструкции]
[Exit Do]
[Инструкции]
Loop
Второй вариант синтаксиса инструкции Do...Loop:
Do
[Инструкции]
[Exit Do]
[Инструкции]
Loop [{While | Until} Условие]
Таблица 12 - Элементы синтаксиса инструкции Do...Loop
Условие |
Необязательный элемент. Представляет числовое выражение или строковое выражение, которое имеет значение True или False. Если условие имеет значение Null, то оно рассматривается как значение False |
Инструкции |
Одна или несколько инструкций, выполнение которых повторяется до тех лор, пока условие имеет значение True или пока оно не приобретет значение True |
Инструкция Do...Loop позволяет организовать циклы, аналогичные циклам White...Wend. Однако в отличие от последнего, цикл Do...Loop содержит инструкцию Exit Do, которая позволяет выйти из цикла Do...Loop в любом месте. Ниже приведен пример использования цикла, организованного с помощью инструкции Do...Loop, который практически идентичен рассмотренному выше циклу While...Wend.
Do While I < 10
A =A + I
I = I + 1
Loop
В первом варианте синтаксиса цикла Do...Loop и в цикле While...Wend сначала всегда проверяется условие, поэтому возможна ситуация, когда инструкции могут ни разу не выполняться. Во втором варианте синтаксиса Do.,,Loop инструкции, составляющие тело цикла, будут выполнены по крайней мере один раз.
Инструкция For Each...Next
Инструкция For Each...Next повторяет выполнение группы инструкций для каждого элемента массива или семейства. Синтаксис этой инструкции имеет вид:
For Each Элемент In Группа
[Инструкции]
[Exit For]
[Инструкции]
Next [Элемент]
Остановимся на алгоритме выполнения инструкции For Each...Next. Набор инструкций, содержащихся в блоке For...Each, выполняется только в том случае, если группа содержит хотя бы один элемент. Сначала выполняются все инструкции для первого элемента группы, затем (при условии, что группа содержит несколько элементов) — инструкции цикла для остальных элементов. После обработки всех элементов цикл завершается, и выполнение программы передается на инструкцию, следующую за инструкцией Next.
Среди инструкций цикла может содержаться любое число инструкций Exit For, позволяющих выйти из цикла. При этом управление передается инструкции, расположенной за инструкцией Next.
Таблица 13 - Элементы синтаксиса инструкции For Each...Next
Элемент |
Обязательный элемент, которым является переменная, используемая для выполнения итераций по элементам семейства или массива. Для семейства элемент может быть только переменной типа Variant, универсальной объектной переменной или переменной, представляющей любой конкретный объект. Для массивов элемент может быть только переменной типа Variant |
Группа |
Обязательный элемент— имя семейства объектов или массива |
Инструкции |
Необязательный элемент — инструкции, которые выполняются для каждого элемента группы |