Операторы, выражения и операции
Операторы в VBA являются основными элементами кода. Последовательность операторов образует процедуру. Операторы состоят из ключевых слов и выражений, они выполняют основные операции программы. Различают простые операторы, записываемые в одну строку и сложные, называемые «структурами» (операторы условия и циклов).
Выражение – это комбинация знаков операций и операндов, а также скобки. Назначение любого выражения - получение некоторого значения. Это значение является результатом и используется командой. Примеры:
Kol>15 - логическое выражение
Str*31/100 - арифметическое выражение
Самые простые операторы – это операторы присваивания, используются для присвоения переменной нужного значения соответственно типу данных. Значение может быть задано константой или выражением, например:
Fam = “Крючков”
IntI=6
StrName=Range(“D4”)
Рассмотрим некоторые операторы языка VBA подробней.
Операторы выбора
Операторы выбора используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с условиями, существующими на момент выполнения этих операторов. В VBA есть два основных оператора выбора: операторы условия If … Then и переключатели Select Case.
Оператор If … Then используется для того, чтобы выполнить какой-либо оператор или несколько операторов, если некоторое условие будет истинным.
Синтаксическая конструкция этого оператора может иметь две формы:
Ø безальтернативную: If условие Then выражение
Ø альтернативную: If условие Then выражение_1 Else выражение_2.
Если условие принимает значение True (Истина), то выполняется выражение 1, если False (Ложь), то выражение 2.Ветвь Else является необязательной. Например, если скидка в 5% применяется только к суммам >1000, то в VBA это можно записать так:
If Money > 1000 Then Discont = 0.05 Else Discont = 0
или, что равносильно
If Money > 1000 Then Discont = 0.05
Допускается также использование блочной формы синтаксиса, которая упрощает восприятие оператора условного перехода. Запомним, что при блочной организации оператора условного перехода используется ключевое слово End If для обозначения окончания оператора:
|
Если дерево условий гораздо сложнее, чем просто проверка одного условия, используется оператор If . . . Then . . .Elseif, который позволяет проверять несколько условий:
Первым проверяется условие 1. Если оно имеет значение True, то выполняется группа операторов 1 и далее работа программы продолжится со строки, которая следует за ключевым словом End if. Если условие 1 возвращает значение False, то проверяется условие 2 и т.д., пока не встретится условие, возвращающее значение True, или не встретится ключевое слово Else.
Если нужно проверить достаточно много условий, то оператор If …Then может стать слишком сложным. В этом случае применяется оператор выбора, или переключатель Select Case, который выполняет одну из нескольких групп операторов в зависимости от значения выражения.
Операторы циклов
Циклы - это программные структуры, выполняющие важнейшую функцию в работе компьютера. Цикл – это оператор или группа операторов, которые программа многократно выполняет до тех пор, пока не получит команду начать выполнение чего-нибудь другого.
В Visual Basic существуют два основных типа циклов: циклы со счётчиком и циклы с условием.
Циклы со счётчиком (с известным числом повторений) называют ещё циклами For … Next. Синтаксис цикла со счётчиком таков:
For Счётчик цикла= НачальноеЗначение To КонечноеЗначение [Step Шаг]
Операторы: [Exit For], Next [Счётчик цикла].
Step (Шаг) – число, задающее шаг цикла, т.е. значение, на которое увеличивается или уменьшается значение счетчика на каждом шаге. Это число может быть отрицательным. Если ключевое слово Step отсутствует, то значение шага равно 1.
Exit For -оператор досрочного выхода из цикла (необязательный).
Пример. Просуммировать четные числа натурального ряда до 50 включительно, сумму поместить в ячейку рабочего листа Excel.
Программный код реализации этой задачи может выглядеть так:
Sub sum()
Dim f As Integer, sum As Integer‘объявляются переменные типа целое число
sum = 0
For f = 2 To 50 Step 2‘переменной, являющейся счетчиком, присваивается начальное и конечное значение
sum = sum + f‘переменная счетчик увеличивается на величину шага Step 2 и проверяется на достижение конечного значения
Next‘команда передает управление команде For
Range("A1").Value = sum‘вычисленная сумма помещается в ячейку А1 активного листа
End Sub
Главной же особенностью циклов с условием является условие, которое может быть любым выражением, принимающим значение Истина (True) или Ложь (False). В Visual Basic есть два основных цикла с условием – цикл Do While … Loop и цикл Do Until … Loop. Оба они могут быть с предусловием или с постусловием.
|
|
В первом случае условие задается в операторе начала цикла, во втором – в операторе конца цикла.
DO , LOOP - ключевые слова, обозначающие начало и окончание цикла;
WHILE и UNTIL - ключевые слова, определяющие тип цикла. Цикл DO WHILE выполняется до тех пор, пока условие имеет значение True (т.е.пока условие выполняется). Цикл DO UNTIL выполняется до тех пор, пока условие имеет значение False.
EXIT DO - принудительный выход из цикла.