Расположение операторов в одну строку
Использование знака двоеточия позволяет разместить несколько операторов в одной строке. Таким образом, следующие две конструкции эквивалентны:
1. х = х + 1
у = х + 2
и
2. х = х + 1:у = х + 2
Операции в VBA
Арифметические
Арифметические операции VBA сведены в таблицу (Таблица 4).
Таблица 4. Арифметические операции.
Операция | Описание |
[Операнд1] + [Операнд2] | Сложение |
[Операнд1] - [Операнд2] | Вычитание |
- [Операнд] | Перемена знака |
[Операнд1] * [Операнд2] | Умножение |
[Операнд1] / [Операнд2] | Деление |
[Операнд1] \ [Операнд2] | Целочисленное деление |
[Операнд1] Mod [Операнд2] | Остаток от деления по модулю |
[Операнд1] ^ [Операнд2] | Возведение в степень |
Операнды должны быть числовых подтипов, результаты операций также являются числами.
Строковые
В VBA присутствует одна встроенная строковая операция: конкатенация (сложение) строк.
Синтаксис:
[Строка1] & [Строка2] или [Строка1] + [Строка2]
Результатом операции будет строка, образованная слиянием Строки1 и Строки2.
Для сложения строк предпочтительнее, во избежание путаницы с арифметическим сложением, применять операцию со знаком &
Операции отношения
Операции отношения или операции сравнения сведены в таблицу (Таблица 5).
Таблица 5. Операции отношения.
Операция | Описание |
[Операнд1] < [Операнд2] | Меньше |
[Операнд1] > [Операнд2] | Больше |
[Операнд1] <= [Операнд2] | Меньше или равно |
[Операнд1] >= [Операнд2] | Больше или равно |
[Операнд1] <> [Операнд2] | Не равно |
[Операнд1] = [Операнд2] | Равно |
[Операнд1] Is [Операнд2] | Сравнение двух операндов, содержащих ссылки на объекты |
[Операнд1] Like [Операнд2] | Сравнение двух строковых выражений |
Оба операнда должны относиться к одному подтипу, результат операции будет булевского типа: True, если отношение выполняется и False если не выполняется.
|
|
Логические операции.
Логические операции перечислены в таблице (Таблица 6).
Таблица 6. Логические операции.
Операция | Описание |
[Операнд1] And [Операнд2] | Логическое умножение |
[Операнд1] Or [Операнд2] | Логическое сложение |
[Операнд1] Хог [Операнд2] | Исключающее or (или) |
Not [Операнд1] | Логическое отрицание |
[Операнд1] Imp [Операнд2] | Логическая импликация (в настоящее время почти не используется) |
[Операнд1] Equ [Операнд2] | Логическая эквивалентность (в настоящее время почти не используется) |
Операнды могут быть булевского или одного из числовых типов. Если операнды логических операций булевского типа, результат операции тоже будет булевского типа соответственно таблице истинности (Таблица 7). Операция Not одноместная и применяется только к Операнду1, остальные операции – двуместные. В других случаях выполняется побитовая логическая операция над двоичными представлениями операндов.
|
|
Таблица 7. Таблица истинности
Операнд1 | Операнд2 | And | Or | Xor | Not | Imp | Equ |
False | False | False | False | False | True | False | True |
False | True | False | True | True | True | True | False |
True | False | False | True | True | False | False | False |
True | True | True | True | False | False | False | True |
Чаще всего логические операции используются для объединения нескольких операций сравнения. Например, если имеется несколько переменных «a», «b», «c» , каждая из которых должна быть меньше двадцати, и в программе необходимо проверить этот факт, формулируется условие
(a<20) And (b<20) And (c<20)
которое выполняется (результат равен True – истина) только в случае, когда значение каждой переменной меньше двадцати. Если хотя бы одна переменная содержит значение большее или равное двадцати, условие не выполняется и результат сравнения будет равен False.
Приоритеты операций
VBA выполняет операции в соответствии с их приоритетами, что обеспечивает однозначность в трактовке значений выражений. Приоритеты выполнения операций приведены в таблице (Таблица 8).
|
|
Таблица 8. Приоритеты операций.
Приоритет | Операция |
1 | Вызов функции и скобки |
2 | ^ |
3 | - (смена знака) |
4 | *, / |
5 | \ |
6 | Mod |
7 | +, -, & |
8 | >, <, >=, <=, <>, = |
9 | Not |
10 | And |
11 | Or |
12 | Xor |
13 | Equ |
14 | Imp |
Операции с одинаковым приоритетом выполняются слева направо.
Встроенные функции VBA
Функция определяет зависимость возвращаемого значения от одного или нескольких аргументов, называемых параметрами. Тип значения функции и типы аргументов совпадают с типами данных VBA и определены в описании функции.
В VBA имеется большой набор встроенных функций и процедур, использование которых существенно упрощает программирование. Эти функции можно разбить на следующие основные категории:
1. Математические функции
2. Функции проверки типов
3. Функции преобразования форматов
4. Функции обработки строк
5. Функции времени и даты
Ниже рассмотрены основные функции из этих категорий.
Математические функции
Математические функции перечислены в таблице (Таблица 9).
Таблица 9. Встроенные математические функции VBA
Функция | Возвращаемое значение |
Abs (число) | Модуль (абсолютная величина) числа |
Atn (число) | Арктангенс |
Cos (число) | Косинус угла, заданного в радианах. |
Ехр (число) | Экспонента, то есть результат возведения основания натурального логарифма в указанную степень |
Log (число) | Натуральный логарифм |
Rnd (число) | Случайное число из интервала [0,1). Если число меньше нуля, то Rnd возвращает каждый раз одно и то же число, используя аргумент в качестве опорного числа; если число больше нуля или аргумент опущен, то — следующее случайное число в последовательности; если число равняется нулю, то — случайное число, возвращенное при предыдущем вызове этой функции. Перед вызовом функции Rnd используйте инструкцию Randomize без аргумента |
Sgn (число) | Знак числа. Возвращает -1, 0 или 1. |
Sin (число) | Синус |
Sqr (число) | Квадратный корень из числа |
Tan (число) | Тангенс |
Fix (число) И Int (число) | Обе функции, Int и Fix, отбрасывают дробную часть числа и возвращают целое значение. Различие между функциями Int и Fix состоит в том, что для отрицательного значения аргумента число функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, a Fix — ближайшее отрицательное целое число, большее либо равное указанному |
Функции проверки типов
|
|
Функции проверки типов (Таблица 10) проверяют, является ли переменная выражением специфицированного типа.
Таблица 10. Функции проверки типов VBA
Функция | Специфицированный тип |
IsArray (переменная) | Является ли переменная массивом |
IsDate (переменная) | Является ли переменная датой |
IsEmpty (переменная) | Была ли переменная описана инструкцией Dim |
IsError (переменная) | Является ли переменная кодом ошибки |
IsNull (переменная) | Является ли переменная пустым значением (Null) |
IsNumeric (переменная) | Является ли переменная числовым значением |
IsObject (переменная) | Является ли переменная объектом |
Возвращаемое значение имеет булевский тип: True, если переменная имеет специфицированный тип и False, если не является.
Дата добавления: 2018-05-12; просмотров: 301; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!