- •«Программирование линейных алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Ход работы:
- •Варианты заданий:
- •Организация ввода-вывода информации.
- •Краткие теоретические сведения
- •Ход работы
- •2. Выполните задачи для самостоятельного решения
- •«Программирование разветвляющихся алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Ход работы
- •Задания для выполнения лабораторной работы:
- •«Программирование циклических алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Инструкция For...Next
- •Инструкция While...Wend
- •Инструкция Do...Loop
- •Инструкция For Each...Next
- •Ход работы:
- •Задания:
- •«Программирование алгоритмов с массивами на языке vba»
- •Ход работы:
- •«Программирование функций обработки строк на языке vba»
- •Краткие теоретические сведения:
- •Задания для выполнения лабораторной работы
- •«Изучение объектной модели excel»
- •Краткие теоретические сведения:
- •Объект Workbook.
- •Объект Worksheet.
- •Ход выполнения работы:
- •«Обработка событий»
- •Краткие теоретические сведения:
- •Использование процедур событий
- •Реагирование на изменения в рабочем листе
- •События Change и SheetChange
- •Ход выполнения работы:
- •«Создание пользовательской формы»
- •Краткие теоретические сведения
- •«Использование элементов управления»
- •Краткие теоретические сведения:
Краткие теоретические сведения
Циклы предназначены для многократного выполнения группы инструкций. В VBA для организации циклов используются инструкции For...Next, While...Wend, Do...Loop и For Each...Next
Инструкция For...Next
Эта инструкция повторяет выполнение группы инструкций указанное число раз. Синтаксис инструкции For...Next:
For Счетчик = Начало То Конец [Step Шаг]
[Инструкции]
[Exit For]
[Инструкции] Next [Счетчик]
Таблица 10- Элементы синтаксиса инструкции For...Next
Счетчик |
Обязательный элемент. Числовая переменная (за исключением типа Boolean), используемая в качестве счетчика цикла. Эта переменная не может быть элементом массива |
Начало |
Обязательный элемент — начальное значение переменной Счетчик |
Конец |
Обязательный элемент — конечное значение переменной Счетчик |
Шаг |
Необязательный элемент — представляет собой значение, на которое изменяется счетчик при каждом выполнении тела цикла. По умолчанию шаг равен единице. Аргумент Шаг может быть как положительным, так и отрицательным. |
Инструкции |
Необязательный элемент— одна или несколько инструкций, составляющих тело цикла |
После выполнения всех инструкций цикла значение элемента Шаг добавляется к текущему значению переменной Счетчик. После этого инструкции цикла либо выполняются еще раз, либо цикл завершается (если значение счетчика сравнивается со значением элемента конец) и выполнение программы продолжается с инструкции, следующей за инструкцией Next.
Пример цикла For...Next:
For I =0 To 10 Step 2
Sum = Sum + I
Next I
В приведенном примере подсчитывается сумма четных чисел (поскольку шаг равен 2) в диапазоне от 0 до 10 включительно.
Инструкция Exit For предоставляет возможность выхода из цикла. Она передает правление инструкции, следующей непосредственно за инструкцией Next. Эта инструкция может находиться в любом месте цикла. Часто инструкцию Exit For применяют одновременно с проверкой какого-либо условия (например, If..Then).
Инструкция While...Wend
Инструкция While...Wend выполняет некоторую последовательность инструкций до тех пор, пока заданное условие имеет значение True. Синтаксис инструкцииWhile...Wend:
While Условие
[Инструкции]
Wend
Таблица 11- Элементы синтаксиса инструкции While...Wend
Условие |
Числовое или строковое выражение, которое имеет значение True или False. Если условие имеет значение Null, то оно рассматривается как имеющее значение False |
Инструкции |
Одна или несколько инструкций, выполняемых до тех пор, пока условие имеет значение True. Эти инструкции представляют собой тело цикла |
Если Условие имеет значение True, то выполняется весь набор инструкций, расположенных до инструкции Wend. После этого управление возвращается инструкции While и опять проверяется условие. Если Условие имеет значение True, то снова выполняются все инструкции до Wend. В противном случае выполнение программы передается на инструкцию, следующую за инструкцией Wend. Циклы While...Wend могут иметь любую глубину вложенности. При этом каждая инструкция Wend соответствует предшествующей инструкции While. Пример цикла While...Wend:
While I < 10
A = A + I
I = I + 1
Wend
Здесь объявляются переменные I и A типа Integer. Пока значение переменной I меньше 10, выполняются инструкции, составляющие тело цикла. При выходе из цикла переменная A получает значение равное 45.