Сведения для начального знакомства c операторами VBA
Оператор присваивания
Оператор присваивания выглядит, как знак «=». Синтаксис:
Имя_переменной = Выражение
Имя_переменной – это обозначение,которое программист дает участку памяти для хранения в нем данных определенного типа. Переменной можно дать практически любое имя, но рекомендуется делать его описательным, близким по смыслу к содержанию. Значение переменной в процессе работы программы может изменяться.
Образование имен переменных должно подчиняться правилам:
- Имя переменной начинается с буквы.
- За буквой следует любая комбинация букв, цифр, и символов подчеркивания.
- Имя переменной не должно содержать точек, пробелов, знаков арифметических операций.
- Имя не может превышать 255 символов в длину.
- Имя не может совпадать ни с одним ключевым словом VBA, именем другой переменной в данной процедуре или именем процедуры.
Выражение– любое допустимое в VBA выражение – совокупность переменных, констант, функции, объединенных знаками арифметических и логических операций.
При выполнении оператора присваивания сначала вычисляется значение выражения, стоящего справа от оператора, а потом полученноезначение присваивается переменной, указанной слева от оператора.
При записи выражения могут использоваться следующие группы операций:
— Арифметические операции.
Для арифметических операций приняты обозначения:
+ сложение;
– вычитание;
* умножение;
/ деление;
^ возведение в степень;
\ целочисленное деление (отбрасывает дробную часть);
Modделение по модулю. N1 Mod N2 делит N1 на N2, возвращая остаток от деления.
— Операции сравнения.
Операции сравнения иногда называют операторы отношения. Их применяют для формирования условия выполнения некоторой последовательности операций. Результат выполнения оператора сравнения принимает только два значения: True(истина) и False(ложь). Принятые обозначения:
= равно; <> не равно;
< меньше; > больше;
<= меньше или равно; >= больше пли равно.
— Конкатенация строк.
Основной знак для операции слияния (конкатенация) текстовых строк - амперсанд &.
— Логические операции.
Логические операции используются при формировании условий д.ля записи логических выражений.
AND – логическое «И». Результат принимает значения «истина», если истинны оба операнда.
OR – логическое «ИЛИ». Результат принимает значение «истина», если хотя бы один из операндов имеет значение «истина».
NOT – отрицание. Значение операнда меняется на противоположное.
Условные операторы
Существует несколько вариантов записи оператора If. Синтаксис 1:
If Логич_выражение Then Оператор
Вычисляется значение логического выражения, если оно принимает значение «истина», то выполняется Оператор. В противном случае сразу выполняется инструкция в следующей строке. Синтаксис 2 (If..Then...Else):
If Логич_выраженпе Then
Операторы_1
Else
Операторы_2
End If
Вычисляется значение логического выражения, если оно принимает значение «истина», то выполняется группа Операторы_1. В противном случае выполняется группа Операторы_2. Указанные группы операторов могут содержать внутри себя другие операторы If.
Для последовательной проверки нескольких условий удобно использовать инструкцию If...Elself. Синтаксис 3:
If Логич_выражение_1 Then
Операторы
Elself Логнч_выраженне_2 Then
Операторы
Else
Операторы
End If
Если первое логическое выражение истинно, то выполняется соответствующая ему группа операторов после Then, иначе проверяется второе логическое выражение и, если оно истинно, выполняется соответствующая ему группа операторов и.т.д. Если ни одно из логических выражении не примет – значение «истина», то выполняется группа операторов после Else.
Оператор Select Case
Для выбора из большого количества ветвей процедуры можно использовать инструкцию Select Case. Простейший вариант записи инструкции:
Select Case Выражение
Case Значение выражения 1
Операторы_1
Case Значение_выражения_2
Операторы_2
………………………………
Case Else
Операторы_Else
End Select
Вычисляется значение выражения, в частности, выражение может быть просто именем переменной. Затем выполняется группа операторов, соответствующая полученному значению. Если значение выражения отличается от указанных в Case, то выполняется группа операторов, соответствующая Case Else.
Всегда выполняется только один из разделов Case.
Возможны более сложные варианты записи Case, когда вместо одного значения переменной указывается список значении, диапазон значении, операции сравнения (например, Case Is >100).
Циклические операторы
Одним из недостатков записанных макросов является их неспособность повторять операции, если вы не повторили их вручную при записи макроса.
Программные структуры, дающие возможность повторения одной или нескольких инструкций, называются циклами.
Некоторые циклические структуры созданы так, что они повторяются заданное количество раз. Другие позволяют организовать повторение до тех пор, пока выполняется некоторое условие.
Операторы, записанные между инструкциями начала и конца цикла, называются телом цикла.
Тело цикла может содержать любые операторы, в том числе и операторы цикла. Такие циклы называются вложенными.
Цикл For .. . Next
Данный цикл следует использовать, если требуется организовать повторение операций заданное число раз.
For переменная_цикла = нач_значение То конечн значение [Step шаг]
Операторы
Next переменная_цикла
Переменная_цикла – любая числовая переменная (чаше всего переменная, принимающая целочисленные значения).
Step – шаг изменения значения переменной цикла. Может принимать положительные и отрицательные значения, по умолчанию имеет значение, равное единице, и может не указываться.
При выполнении цикла переменной цикла присваивается начальное значение. Затем выполняются все инструкции тела цикла. Далее значение переменной цикла изменяется на величину шага и полученное значение сравнивается с конечным значением переменной. Если конечное значение не достигнуто, то вновь выполняются все инструкции тела цикла. Когда значение переменной цикла превысит конечное значение, то управление передается инструкции, следующей за ключевым словом Next.
Самый простой пример использования данного цикла – вычисление суммы чисел по принципу накопления суммы в некоторой переменной. Рассмотрим фрагмент кода процедуры:
'Обозначим через S вычисляемое значение суммы
S = 0 ' Начальное значение суммы
For 1=1 TO 150
S = S+I
Next I
В данном примере вычисляется сумма чисел от 1 до 150 и результат вычисления сохраняется в переменной S. Вычисление происходит следующим образом: первоначально значение суммы равно нулю. Затем начинает работать цикл. Переменная цикла принимает значение 1 и оно добавяляется к старому значению суммы, а результат записывается снова в переменную S (строка 4). Далее переменная цикла принимает следующее значение, равное двум, и операция повторяется, т.е. сумма как бы «накапливается» в переменной S.
Данный пример очень легко изменить для вычисления суммы четных (пли нечетных) чисел. Для этого необходимо заголовок цикла переписать в виде:
For I = 2 То 150 Step 2 для суммирования четных чисел;
пли
For I = 1 То 150 Step 2 для суммирования нечетных чисел.
Цикл с проверкой условия
Циклической структурой, позволяющей реализовать проверку перед началом выполнения тела цикла, яв.ляется оператор Do While.
Do While логическое_выражение
Операторы
Loop
Логическое_выражение – это допустимое логическое выражение, которое задает условие, при котором будет выполняться тело цикла. Данный цикл работает, пока значение выражения истинно. Когда логическое выражение примет значение False, управление передается оператору, следующему за ключевым словом Loop, т.е. цикл завершается. В качестве логического выражения можно использовать логическую переменную, принимающую значения True пли False.
Оператор Do While позволяет создавать циклы, повторяющиеся заранее неизвестное число раз.
Дата добавления: 2021-11-30; просмотров: 18; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
