Сведения для начального знакомства 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!