VBA. Операции в VBA: математические, отношения, логические. Приоритеты операций.
Арифметических операторов в VBA всего 7. Четыре стандартных: сложение (+), вычитание (-), умножение (*), деление (/) и еще три:
· возведение в степень (^), например 2^3 = 8;
· целочисленное деление (\). Делит первое число на второе, отбрасывая (не округляя) дробную часть. Например, 5\2 = 2;
· деление по модулю (Mod). Делит первое число на второе, возвращая только остаток от деления. Например, 5 Mod 2 = 1.
Операторов сравнения в VBA всего 8:
· равенство (=), например, If (nVar = 10);
· больше, чем и меньше, чем (> и <), например, If (nVar > 10);
· больше или равно и меньше или равно (>= и <=), например, If (nVar >= 10);
· не равно (<>), например, If(nVar<>10);
· сравнение объектов (Is). Определяет, ссылаются объектные переменные на тот же объект или на разные, например, If(obj1 is obj2);
· подобие (Like). Сравнивает строковый объект с шаблоном и определяет, подходит ли шаблон.
логические операторы:
· AND — логическое И, должны быть истинными оба условия;
· OR — логическое ИЛИ, должно быть истинным хотя бы одно из условий;
· NOT — логическое отрицание, возвращает TRUE, если условие ложно;
· XOR — логическое исключение. В выражении E1 XOR E2 возвращает TRUE, если только E1 = TRUE или только E2 = TRUE, иначе — FALSE;
· EQV — эквивалентность двух выражений, возвращает TRUE, если они имеют одинаковое значение;
· IMP — импликация, возвращает FALSE, если E1 = TRUE и E2 = FALSE, иначе — TRUE.
Почти в любой программе VBA используются операторы конкатенации. В VBA их два — + или &. Рекомендуется всегда использовать &, потому что:
· при использовании & производится автоматическое преобразование числовых значений в строковые — нет опасности допустить ошибку;
· при использовании оператора + сложение строкового значения со значением типа Null дает Null.
Операторы вычисляются в следующем порядке приоритета:
· Арифметические операторы и операторы объединения
· Возведение в степень (^)
· Унарные плюс и минус (+, –)
· Умножение и деление с плавающей запятой (*, /)
· Целочисленное деление (\)
· Модульная арифметика (Mod)
· Сложение и вычитание (+, –)
· Объединение строк (&)
· Арифметический сдвиг разрядов (<<, >>)
· Операторы сравнения
· Все операторы сравнения (=, <>, <, <=, >, >=, Is, IsNot, Like, TypeOf... Is)
· Логические и побитовые операторы
· Отрицание (Not)
· Конъюнкция (And, AndAlso)
· Включающая дизъюнкция (Or, OrElse)
· Исключающая дизъюнкция (Xor)
18.VBA. Функции VBA: математические, проверки типов и преобразования данных, обработки строковых данных.
Математические функции
Abs (число) Atn (число) Cos (число) | Модуль (абсолютная величина)числа Арктангенс Косинус | ||||
Ехр (число) | Экспонента, т. е. результат возведения основания натурального логарифма в указанную степень | ||||
Log (число) | Натуральный логарифм | ||||
Rnd (число) | Случайное число из интервала [0,1). | ||||
Sgn (число) | Знак числа | ||||
Sin (число) | Синус | ||||
Sqr (число) | Квадратный корень из числа | ||||
Tan (число) | Тангенс | ||||
Fix (число) И Int (число) | Обе функции, int и Fix, отбрасывают дробную часть числа и возвращают целое значение. | ||||
Функции проверки типов
Функции проверки типов проверяют, является ли переменная выражением специфицированного типа.
Функция | Проверка | ||
IsArray (переменная) IsDate (переменная) IsEmpty (переменная) IsError (переменная) IsNull (переменная) IsNumeric (переменная) | Является ли переменная массивом Является ли переменная датой Была ли переменная описана инструкцией Dim Является ли переменная кодом ошибки Является ли переменная пустым значением (Null) Является ли переменная числовым значением | ||
Функции преобразования форматов
Преобразование строки в число и обратно осуществляют следующими функциями.
Val (строка) | Возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа | |||
Str (число) | Возвращает значение типа variant (String), являющееся строковым представлением числа | |||
Format | Возвращает значение типа variant (string), содержащее выражение, отформатированное согласно инструкциям, заданным в описании формата. Синтаксис:Format (Выражение [, Формат [, ПервыйДеньНедели [ , ПерваяНеделяГода] ] ]) Выражение — любое допустимое выражение Формат — любое допустимое именованное или определяемое пользователем выражение формата. Примером именованного формата является Fixed — формат действительного числа с двумя значащими цифрами после десятичной точки · ПервыйДеньНедели — постоянная, определяющая первый день недели · ПерваяНеделяГода — постоянная, определяющая первую неделю года | |||
19. VBA. Массивы динамические и статические: описание, ввод и вывод элементов, функции для работы с массивами , операции над массивами. Привести примеры.