Функции проверки типов
Математические функции
Встроенные функции VBA
End Sub
End With
End With
В процедуре Пример_с_With инструкция With использована дважды — одна внутри другой. Сначала программа вызывает методы Select и Unprotect для третьего рабочего листа и выводит в информационном окне содержимое ячейки A1. Затем свойствам Value, RowHeight и ColumnWidth этой ячейки присваиваются новые значения с одновременным изменением размера шрифта и цвета фона.
Наряду с рассмотренными функциями в VBA имеется большой набор функций, которые можно отнести к следующим категориям:
§ математические функции;
§ функции проверки типов;
§ функции преобразования форматов;
§ функции обработки строк;
§ функции времени и даты;
§ финансовые функции
Рассмотри некоторые функции из этих категорий:
Как и в других языках программирования, в VBA имеется большой список математических функций, позволяющих произвести любые вычисления.
Функция | Возвращаемое значение |
Abs(Число) | Абсолютная величина (модуль) числа |
Sin(Число) | Синус числа |
Cos(Число) | Косинус числа |
Rnd(Число) | Случайное число из интервала [0,1). |
Sqr(Число) | Квадратный корень из числа |
Fix(Число), | Округляет положительное число до меньшего и отрицательное — до большего |
Int(Число) | Округляет положительные и отрицательные числа до меньшего. |
Отвечают на вопрос, является ли переменная переменной определенного типа. В VBA имеются следующие функции проверки типов:
|
|
Функция | Описание |
IsArray(VarName) | Возвращает True, если аргумент является массивом |
IsDate(VarName) | Возвращает True, если аргумент является датой |
IsEmpty(VarName) | Возвращает True, если переменной-аргументу не присвоено никакое значение |
IsError(VarName) | Возвращает True, если аргумент содержит код ошибки |
IsNul(VarName)l | Возвращает True, если аргумент содержит значение Null |
IsNumeric(VarName) | Возвращает True, если аргумент является числом |
IsObject(VarName) | Возвращает True, если аргумент является объектом |
Служат для преобразования одних типов данных в другие:
Функция | Описание |
CInt(expression) | Переводит число в целочисленный формат: Dim MyDouble, MyInt MyDouble = 2345.5678 ' MyDouble - тип Double MyInt = CInt(MyDouble) ' MyInt возвращает 2346 |
CStr (expression) | Переводит число в строковый формат: Dim MyDouble, MyString MyDouble = 459.001 ' MyDouble - тип Double. MyString = CStr(MyDouble) ' MyString возвращает "459,001" – если в Windows установлен стандарт, подразумевающий десятичную запятую или 459.001 – если стандарт подразумевает десятичную точку. |
Str(Number) | Переводит число в строковый формат. Dim MyString MyString = Str(459) ' возвращает " 459". MyString = Str(-459.65) ' возвращает "-459.65" MyString = Str(459.001) ' возвращает " 459.001" Замечание: 1) функция Str в качестве десятичного разделителя «узнает» только точку. Если могут быть использованы другие разделители (например, в приложениях других стран), то для конвертации данных используйте функцию CStr. 2) обратите внимание: если знак не указан, то в возвращаемой строке перед первой цифрой стоит пробел. |
Val(String) | Возвращает число, содержащееся в строке. В качестве допустимого десятичного разделителя функция Val допускает только точку. Dim MyValue MyValue = Val("2345") ' возвращает 2345 MyValue = Val(" 2 34 5") ' возвращает 2345 MyValue = Val("23 and 45") ' возвращает 23 |
|
|