Оператор присвоения
Приоритет выполнения операций в выражениях
Операции VBA
Простейшие операции
В программах на VBA можно использовать стандартный набор операций над данными. Имеются три основных типа операций:
– арифметические, выполняются над числами, и их результатом являются числа;
– отношения (сравнения), применяются не только к числам, и их результатом являются логические значения («истина» или «ложь»), например: х>у;
– логические (булевские), используются в логических выражениях и их результатом являются логические значения, например: Not x And у.
Приведем операции VBA указанных и дополнительных категорий.
Математические операции.
| [Операнд1] + [Операнд2] | Сложение |
| [Операнд1] - [Операнд2] | Вычитание |
| - [Операнд] | Перемена знака |
| [Операнд1] * [Операнд2] | Умножение |
| [Операнд1] / [Операнд2] | Деление |
| [0перанд1] \ [Операнд2] | Целочисленное деление |
| [Операнд1] Mod [Операнд2] | Остаток от деления по модулю |
| [Операнд1] ^ [Операнд2] | Возведение в степень |
Операции отношения (сравнения)
| [Операнд1] < [Операнд2] | Меньше |
| [Операнд1] > [Операнд2] | Больше |
| [Операнд1] <= [Операнд2] | Меньше или равно |
| [Операнд1] >= [Операнд2] | Больше или равно |
| [Операнд1] <> [Операнд2] | Не равно |
| [Операнд1] = [Операнд2] | Равно |
| [Операнд1] Is [Операнд2) | Сравнение двух операндов, содержащих ссылки на объекты |
| [Операнд1] Like [Операнд2] | Сравнение двух строковых выражений |
Логические операции
| [Операнд1] And [Операнд2] | Логическое умножение |
| [[Операнд1] Or [Операнд2] | Логическое сложение |
| [Операнд1] Хог [Операнд2] | Исключающее or (или) |
| [Операнд1] Not [Операнд2] | Логическое отрицание |
Другие операции
| [Строка1] & [Строка2] | Сложение строк. «&» – амперсанд, в данном случае выполняет роль символа конкатенации (объединения). Для сложения строк допустимо использование операции [Cтрока1] + [Строка2], но предпочтительнее, во избежание путаницы, применять операцию со знаком & |
Приоритет выполнения операций в выражениях:
1) возведение в степень.
2) умножение и деление.
3) деление нацело.
4) взятие остатка от деления.
5) сложение и вычитание.
Действия в выражении выполняются слева направо с соблюдением старшинства. Для изменения порядка выполнения действий используются круглые скобки. Число открывающихся скобок всегда должно быть равно числу закрывающихся. Любое выражение в скобках вычисляется раньше, чем выполняется операция, предшествующая скобкам.
Все составные части выражения записываются в программу в одну строку, например: (a+b*x)/(c+d).
При записи выражений также могут использоваться различные встроенные функции языка.
Оператор присвоения присваивает значение выражения переменной, константе или свойству объекта. Оператор присвоения всегда включает знак равенства «=».
Синтаксис:
Переменная (Константа, Свойство Объекта) = Выражение
Оператор присвоения предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, имя которой указано в левой части. В результате, например, действия следующей пары операторов
х = 2
х = х + 2
переменной х будет присвоено 4.
Для присвоения переменной ссылки на объект применяется инструкция Set. В следующем примере инструкция Set присваивает переменной область Диапазон А1:B3:
Set Область = Range(«А1:ВЗ»)
В общем случае инструкция set имеет следующий синтаксис:
Set ОбъектнаяПеременная = {[New] ОбъектноеВыражение | Nothing}
§ ключевое слово New используется при создании нового экземпляра класса;
§ ключевое слово Nothing позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (вольно говоря, она удаляет объект из памяти).