Примеры использования функций VBA

Функции VBA

Функция - это подпрограмма, которая выполняет действия и возвращает единственное значение. В VBA различают следующие виды функций:- встроенные функции,- функции, определённые пользователем.

Встроенные функции

Ниже представлены таблицы с кратким описанием наиболее часто используемых функций VBA.

Математические функции

N означает любое численное выражение. Все аргументы функций являются обязательными, если не указано иначе.
Функция(аргумент) Действие
Abs(N) Возвращает абсолютное значение аргумента N
Atn(N) Возвращает арктангенс N (радиан)
Cos(N) Возвращает косинус N (радиан)
Fix(N) Возвращает целую часть N. Не округляет число, а отбрасывает любую дробную часть. Если 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 - выражение любого типа. Аргументы каждой функции являются обязательными, если не указано иначе.

Функция(аргумент) Действие
Chr(N) Возвращает строку из одного символа, соответствующего коду символа N, который должен быть числом между 0 и 255 (обратна предыдущей)
Format(E,S) Возвращает строку, содержащую значение, представленное выражением Е, в формате в соответствии с инструкциями, содержащимся в S
RGB(N,N,N) Возвращает целое типа Long, представляющее значение основных цветов изображения. N для каждого аргумента должно быть целым и лежать в пределах от 0 до 255
Str(N) Возвращает строку, эквивалентную численному выражению N
Val(S) Возвращает численное значение, соответствующее числу, представленному строкой S, которая должна содержать только цифры и одну десятичную точку, иначе возвращается 0
CDate(E) Возвращает значение типа Date. E может быть любым допустимым выражением (строкой или числом), представляющим дату в диапазоне 1/1/100 - 12/31/9999
CInt(E) Возвращает численное значение типа Integer. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число
CStr(E) Возвращает численное значение типа String. Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число

Функции даты и времени

N - любое допустимое численное значение; D - любое допустимое выражение типа Date (либо выражение, которое может быть преобразовано к типу Date). Аргументы каждой функции являются обязательными, если не указано иначе.

Функция(аргумент) Действие
Date Возвращает системную дату
Time Возвращает системное время
Now Возвращает системные дату и время
Year(D) Возвращает целое, являющееся частью выражения типа Date и содержащее год. Год возвращается как число между 100 и 9999
Month(D) Возвращает целое, являющееся частью выражения типа Date и содержащее месяц. Месяц возвращается как число между 1 и 12
Day(D) Возвращает целое, являющееся частью выражения типа Date и содержащее день. День возвращается как число между 1 и 31
Hour(D) Возвращает целое, содержащее часы как часть времени, содержащегося в выражении типа Date. Часы возвращаются как число между 0 и 23. Если аргумент не содержит значения времени, то возвращается 0
Minute(D) Возвращает целое, содержащее минуты как часть времени, содержащегося в выражении типа Date. Минуты возвращаются как число между 0 и 59. Если аргумент не содержит значения времени, то возвращается 0
DateValue(E) Возвращает значение типа Date, эквивалентное дате, заданной аргументом Е, который может быть строкой, числом или константой, представляющей время
TimeValue(E) Возвращает значение типа Date, содержащее время, заданное аргументом Е, который может быть строкой, числом или константой, представляющей время

Строковые функции

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 со всеми символами нижнего регистра, преобразованными в символы верхнего регистра

Примеры использования функций VBA

Наши рекомендации