Функции VBA (ч.2).
Ниже представлены таблицы с кратким описанием наиболее часто используемых функций VBA.
Математические функции
N - означает любое численное выражение. Все аргументы функций являются обязательными, если не указано иначе.
| Функция(аргумент) | Действие |
| Abs(N) | Возвращает абсолютное значение аргумента N |
| Atn(N) | Возвращает арктангенс N (радиан) |
| Cos(N) | Возвращает косинус N (радиан) |
| Exp(N) | Возвращает константу е (натуральный логарифм = 2.718282...), возведенную в степень N |
| Fix(N) | Возвращает целую часть N. Не округляет число, а отбрасывает любую дробную часть. Если N отрицательное число, то возвращается ближайшее отрицательное целое большее, чем или равное N |
| Int(N) | Возвращает целую часть N. Не округляет число, а отбрасывает любую дробную часть. Если N отрицательное число, то возвращается ближайшее отрицательное целое меньшее, чем или равное N |
| Log(N) | Возвращает натуральный логарифм N |
| Rnd(N) | Возвращает случайное число: аргумент является необязательным. Используется только после инициализации генератора случайных чисел (оператор Randomize) |
| Sgn(N) | Возвращает знак числа: -1, если N - отрицательное; 1, если N - положительное; 0, если N равно 0 |
| Sin(N) | Возвращает синус N (радиан) |
| Sqr(N) | Возвращает корень квадратный из N. Если N является отрицательным числом - возвращается ошибка времени исполнения |
| Tan(N) | Возвращает тангенс N (радиан) |
Функции преобразования данных
N - любое численное значение; S - любое строковое значение; E - выражение любого типа. Аргументы каждой функции являются обязательными, если не указано иначе.
| Функция(аргумент) | Действие |
| Asc(S) | Возвращает число кода символа, соответствующее первой букве строки S |
| Chr(N) | Возвращает строку из одного символа, соответствующего коду символа N, который должен быть числом между 0 и 255 (обратна предыдущей) |
| Format(E,S) | Возвращает строку, содержащую значение, представленное выражением Е, в формате в соответствии с инструкциями, содержащимся в S |
| Hex(N) | Возвращает строку, содержащую шестнадцатиричное представление N |
| Oct(N) | Возвращает строку, содержащую восьмиричное представление N |
| RGB(N,N,N) | Возвращает целое типа Long, представляющее значение основных цветов изображения. N для каждого аргумента должно быть целым и лежать в пределах от 0 до 255 |
| Str(N) | Возвращает строку, эквивалентную численному выражению N |
| Val(S) | Возвращает численное значение, соответствующее числу, представленному строкой S, которая должна содержать только цифры и одну десятичную точку, иначе возвращается 0 |
| CBool(N) | Возвращает Boolean-эквивалент численного выражения N |
| CByte(E) | Возвращает численное значение типа Byte (от 0 до 255). Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число |
| CCur(E) | Возвращает численное значение типа Currency. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число |
| CDate(E) | Возвращает значение типа Date. E может быть любым допустимым выражением (строкой или числом), представляющим дату в диапазоне 1/1/100 - 12/31/9999 |
| CDbl(E) | Возвращает численное значение типа Double. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число |
| CInt(E) | Возвращает численное значение типа Integer. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число |
| CLng(E) | Возвращает численное значение типа Long. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число |
| CSng(E) | Возвращает численное значение типа Single. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число |
| CStr(E) | Возвращает численное значение типа String. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число |
| CVar(E) | Возвращает численное значение типа Variant. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число |
Функции даты и времени
N - любое допустимое численное значение; D - любое допустимое выражение типа Date (либо выражение, которое может быть преобразовано к типу Date). Аргументы каждой функции являются обязательными, если не указано иначе.
| Функция(аргумент) | Действие |
| Date | Возвращает системную дату |
| Time | Возвращает системное время |
| Now | Возвращает системные дату и время |
| Year(D) | Возвращает целое, являющееся частью выражения типа Date и содержащее год. Год возвращается как число между 100 и 9999 |
| Month(D) | Возвращает целое, являющееся частью выражения типа Date и содержащее месяц. Месяц возвращается как число между 1 и 12 |
| Day(D) | Возвращает целое, являющееся частью выражения типа Date и содержащее день. День возвращается как число между 1 и 31 |
| Weekday(D) | Возвращает целое, являющееся частью выражения типа Date и содержащее день недели. День недели возвращается как число между 1 и 7 (1 - воскресенье..) |
| Hour(D) | Возвращает целое, содержащее часы как часть времени, содержащегося в выражении типа Date. Часы возвращаются как число между 0 и 23. Если аргумент не содержит значения времени, то возвращается 0 |
| Minute(D) | Возвращает целое, содержащее минуты как часть времени, содержащегося в выражении типа Date. Минуты возвращаются как число между 0 и 59. Если аргумент не содержит значения времени, то возвращается 0 |
| Second(D) | Возвращает целое, содержащее секунды как часть времени, содержащегося в выражении типа Date. Секунды возвращаются как число между 0 и 59. Если аргумент не содержит значения времени, то возвращается 0 |
| DateSerial(N,N,N) | Возвращает значение последовательной даты для заданной даты. Слева направо аргументы представляют год (целое число от 100 до 9999), месяц (от 1 до 12) и день (от 1 до 31) |
| TimeSerial(N,N,N) | Возвращает значение последовательного времени. Слева направо аргументы представляют часы (целое число от 0 до 23), минуты (от 0 до 59) и секунды (от 0 до 59) |
| DateValue(E) | Возвращает значение типа Date, эквивалентное дате, заданной аргументом Е, который может быть строкой, числом или константой, представляющей время |
| TimeValue(E) | Возвращает значение типа Date, содержащее время, заданное аргументом Е, который может быть строкой, числом или константой, представляющей время |
| Timer | Возвращает число, представляющее количество секунд от полуночи в соответствии с системным временем компьютера |
Строковые функции
N - любое допустимое численное значение; S - любое допустимое строковое значение. Аргументы каждой функции являются обязательными, если не указано иначе.
| Функция(аргумент) | Действие |
| InStr(N1,S1,S2,N2) | Возвращает положение S2 в S1. N1 - начальное положение для поиска. N2 определяет, следует ли выполнять поиск с учетом регистра. N1, N2 - необязательные аргументы |
| Lcase(S) | Возвращает строку (тип String), содержащую копию S со всеми символами верхнего регистра, преобразованными в символы нижнего регистра |
| Left(S,N) | Возвращает строку: копирует N символов из S, начиная с левого крайнего символа S |
| Len(S) | Возвращает число символов в S, включая начальные и конечные пробелы |
| Ltrim(S) | Возвращает копию строки S после удаления символов пробела из левой части строки (начальные пробелы) |
| Mid(S,N1,N2) | Возвращает строку: копирует N2 символов из S, начиная с позиции символа в S, заданной аргументом N1. N2 - необязательный аргумент, если он опущен, то возвращаются все символы в строке S от позиции N1 до конца строки |
| Right(S,N) | Возвращает значение типа String: копирует N символов из S, начиная с правого крайнего символа S |
| Rtrim(S) | Возвращает копию строки S после удаления символов пробела из правой части строки (конечные пробелы) |
| Space(N) | Возвращает строку пробелов длиной N символов |
| StrComp(S1,S2,N) | Сравнивает S1 с S2 и возвращает число, обозначающее результат сравнения: -1, если S1<S2; 0 - S1=S2; 1 - S1>S2. N является необязательным аргументом и указывает следует ли выполнять сравнение с учетом регистра |
| StrConv(S,N) | Возвращает строку, преобразованную в новую форму в зависимости от числового кода, заданного аргументом N. VBA предоставляет внутренние константы для использования с функцией StrConv. Наиболее полезными являются: vbProperCase (преобразует строку так, что каждая буква, начинающая слово, становится заглавной), vbLowerCase (преобразует строку в буквы нижнего регистра) и vbUpperCase (преобразует строку в буквы верхнего регистра) |
| String(N,S) | Возвращает строку длиной N символов, состоящую из символа, заданного первым символом в S |
| Trim(S) | Возвращает копию строки S после удаления начальных и конечных символов пробела из этой строки |
| Ucase(S) | Возвращает S со всеми символами нижнего регистра, преобразованными в символы верхнего регистра |
