Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Операнды, операции, выражения в VBA

Выражения

Для выполнения вычислений и других манипуляций в VBA используются выражения. Выражение - это любая комбинация операндов или элементов данных (чисел, констант, переменных, функций и других операндов) и знаков операций.

Операнды (operands) в программировании - это объекты, над которыми выполняют определенные действия (операции).

Знаки операций - это символы, которые используют для соединения операндов в выражении.

Операции в VBA - это действия, которые производят над операндами. Знаки операций в выражении имеют свои приоритеты.

Выражения могут состоять из одного операнда, а могут состоять из комбинации операндов и знаков операций. Результатом вычисления выражения является значение, которое должно иметь допустимый в VBA тип данных.

Замечание 1

Отметим, что в одном выражении нельзя использовать несовместимые типы данных.

Оператор - это наименьшая исполняемая единица программного кода VBA. Различают операторы выражения, операторы объявления, операторы присваивания, условные операторы и т.д. Операторы выражений - это процедуры или строка в тексте исполняемого кода программы. Операторы выражений выполняют какие-либо действия в программе.

Операции

К операциям, которые используются для записи выражений в VBA, относят:

  • операции присваивания;
  • математические операции;
  • логические операции;
  • операции сравнения (отношений);
  • операции для работы со строками (строковые операции).

Операция присваивания

Когда мы в программе объявляем переменную, происходит связывание имени этой переменной с областью памяти, в которой будет храниться ее значение, которое, в свою очередь, после объявления может оказаться произвольным. Возникает необходимость присвоения переменной нужного значения, для этого используем операцию присваивания, назначающую результат вычисления выражения переменной, константе или же свойству объекта. В операции присваивания всегда используют знак равенства =.

«Операнды, операции, выражения в VBA» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Синтаксис данной операции имеет вид:

ИмяПеременной = Выражение

где:

  • Имя_Переменной – имя переменной (идентификатор);
  • Символ «=» – знак операции присваивания;
  • выражение – значение (число), комбинация переменных, констант, функций, связанных знаками операций.

Операция присваивания предписывает выполнить выражение, заданное в его правой части, и присвоить результат имени переменной, имя которой указано в левой части.

Для присваивания переменной ссылки на объект применяется инструкция Set. В общем случае инструкция Set имеет следующий синтаксис:

$Set objectvar = [New] objectexpression [Nothing]$

где:

  • New– ключевое слово, которое используется при создании нового экземпляра объекта;
  • Nothing– позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (т.е. она удаляет объект из памяти).

Математические операции

Определение 1

Математические операторы - это ничто иное, как инструкции, в которых используют математические операции.

В VBA используются следующие математические операции: сложение (+), вычитание (-), умножение (*), деление (/), деление без остатка (), остаток от деления по модулю (mod), возведение в степень (^).

При этом каждая операция имеет свой приоритет, или как его еще называют ранг. Операции 1 ранга будут иметь наивысший приоритет и в программном операторе выполнятся первыми. Операции одного ранга в выражениях выполняются согласно правил ассоциативности (слева направо или наоборот). Так операцией 1 ранга будет являться выражение, заключенное в скобки (), 2 приоритет имеет операция вызова функции, 3 – операция возведения в степень (^) и так далее, самый низший приоритет 12 имеет операция Or.

Оператор сложения (+)

С помощью этого оператора выполняют простое сложение. При этом оба операнда – это численные выражения или строки, которые можно преобразовать в число. Оператор сложения также используется при выполнении математических операций с данными типа Date.

Тип данных результата выражения сложения, как правило, такой же, как и наиболее точный тип в этом выражении. Но, встречаются и исключения:

  • при сложении типов Single и Long результатом станет тип Double;
  • при сложении типа Date с любым другим типом данных результат всегда будет иметь тип Date;
  • при превышении результатом диапазона типа Integer, его преобразуют в тип Long;
  • при превышении результатом типов Long, Single, Date, его преобразуют в тип Double;
  • если любой операнд в выражении сложения будет иметь тип Null, то и результат выражения сложения также будет иметь тип Null.

Оператор вычитания (-)

Данный оператор выполняет две задачи:

  • используется при вычитании одного числа из другого;
  • обозначает унарный минус (это знак минус, который помещается перед отрицательным числом).

Поместить унарный минус перед переменной или выражением означает то же, что умножить это число на -1. Оба операнда в выражении вычитания должны быть численными переменными (выражениями) или строковыми выражениями, которые можно преобразовать в число. Данный оператор можно использовать для работы с датами.

VBA использует те же правила для определения типа данных результата выражения вычитания, что и для выражений, использующих оператор сложения. Но, есть дополнение: если оба операнда в выражении являются типом Date, то результат выражения будет иметь тип Double.

Оператор умножения (*)

Данный оператор перемножает два числа – результатом выражения умножения является произведение двух операндов. Оба операнда в выражении умножения должны быть численными выражениями или строками, которые можно преобразовать в число.

VBA следует тем же правилам для определения типа данных результата выражения умножения, что и для выражений, использующих оператор сложения. В выражениях умножения все переменные Variant, которые содержат значения типа Date, преобразуются в численные значения.

Оператор деления (/)

Оператор деления с плавающей точкой выполняет обычное математическое деление своих операндов. В выражениях деления первый операнд делится на второй и результатом деления является частное.

Оба операнда в выражении деления с плавающей точкой должны быть численными выражениями или строками, которые можно преобразовать в число. Если хотя бы один операнд в выражении деления будет иметь тип Null, то результат деления также будет иметь тип Null.

Типом данных операции деления с плавающей точкой является Double, за исключением случаев, когда:

  • оба операнда в выражении деления имеют типы Integer или Single – результат будет иметь тип Single;
  • результат выражения не переполняет диапазон значений для типа Single.

Целочисленное деление ()

Целочисленное деление отличается от деления с плавающей точкой тем, что его результатами всегда являются целые числа без дробной части, численными выражениями или строки, которые можно преобразовать в число. Перед выполнением операции целочисленного деления каждый операнд округляется до числа типа Integer или Long. VBA отбрасывает (но не округляет!) любой дробный остаток результата выражения целочисленного деления. Например, выражения 22\5 и 24\5 будут иметь один и тот же результат = 4. Если хотя бы один операнд в выражении целочисленного деления имеет тип Null, то результат деления также будет иметь тип Null.

Деление по модулю (Mod)

Деление по модулю как бы дополняет целочисленное деление. В делении по модулю выражение возвращает только остаток операции деления как целое. 22 Mod 5 = 4 24 Mod 5 = 8 25 Mod 5 = 0

Остальные свойства деления по модулю идентичны целочисленному делению.

Возведение в степень (^)

Оператор возведения в степень возводит число в степень.

Пример 1

5 ^ 3 =125

Оба операнда в выражении возведения в степень должны быть численными выражениями или строками, которые можно преобразовать в числа. Операнд слева от оператора возведения в степень может быть отрицательным числом только, если операнд справа является целым.

Результат выражения имеет тип Double. Если хотя бы один операнд в выражении имеет тип Null, то результат возведения в степень также будет иметь тип Null.

Логические операции

Логические операции используются в логических выражениях. Если существует несколько условий выбора в операциях отношения, то эти операции связываются между собой логическими операциями.

Логические выражения имеют значение типа Boolean, которое принимает одно из двух логических значений: True (1) или False (0). При выполнении логических операций логическим переменным присваивается результат вычислений, указанный в правой части операторов. К логическим операциям относятся: and, or, nod, xor, eqv, imp (логическое и, или, нет, логическое исключающее или, логическая эквивалентность, логическая импликация). Например,

Пример 2

(9 > 8) Or (2 > 5). Результат является True (истина), так как одно из условий является True.

Операции сравнения (отношений)

В отличие от математических операций, результатом выполнения которых может быть любое значение, операция отношения может иметь только два результирующих значения – True (Истина) и False (Ложь), которые могут быть присвоены переменным типа Boolean или определенному свойству объекта. Операции отношения применяются для записи выражений условия, результатом выполнения которых являются значения True(Истина) или False(Ложь).

В операторах могут применяться с определенным синтаксисом следующие знаки операций сравнения: равенство (=), больше чем ( > ) и меньше чем (=) и меньше или равно ( > =) и меньше или равно ( > =) и меньше или равно.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 05.05.2017
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot