Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование VBA.pdf
Скачиваний:
374
Добавлен:
03.05.2015
Размер:
3.07 Mб
Скачать

97

1:

MsgBox "Выполнен переход на строку 1"

2:

MsgBox "Выполнен переход на строку 2" End Sub

2.13. Функции VBA

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

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

функции, определённые пользователем.

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

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

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

N означает любое численное выражение. Все аргументы функций являются обязательными, если не указано иначе.

 

 

 

 

 

 

Функция(аргумент)

 

Действие

 

 

 

 

 

 

 

Abs(N)

 

Возвращает абсолютное значение аргумента N

 

 

 

 

 

 

 

Atn(N)

 

Возвращает арктангенс N (радиан)

 

 

 

 

 

 

 

Cos(N)

 

Возвращает косинус N (радиан)

 

 

 

 

 

 

 

 

 

Возвращает целую часть N. Не округляет число, а отбрасывает лю-

 

 

Fix(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 (радиан)

 

 

 

 

 

 

2.13.1.2. Функции преобразования данных

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

 

 

98

 

 

 

 

 

 

 

Функция(аргумент)

 

Действие

 

 

 

 

 

 

 

 

Возвращает строку из одного символа, соответствующего коду сим-

 

 

Chr(N)

 

вола N, который должен быть числом между 0 и 255 (обратна пре-

 

 

 

 

дыдущей)

 

 

 

 

 

 

 

 

Возвращает строку, содержащую значение, представленное выра-

 

 

Format(E,S)

 

жением Е, в формате в соответствии с инструкциями, содержащим-

 

 

 

 

ся в S

 

 

 

 

 

 

 

 

Возвращает целое типа Long, представляющее значение основных

 

 

RGB(N,N,N)

 

цветов изображения. N для каждого аргумента должно быть целым и

 

 

 

 

лежать в пределах от 0 до 255

 

 

 

 

 

 

Str(N)

 

Возвращает строку, эквивалентную численному выражению N

 

 

 

 

 

 

 

 

Возвращает численное значение, соответствующее числу, пред-

 

 

Val(S)

 

ставленному строкой S, которая должна содержать только цифры и

 

 

 

 

одну десятичную точку, иначе возвращается 0

 

 

 

 

 

 

 

 

Возвращает значение типа Date. E может быть любым допустимым

 

 

CDate(E)

 

выражением (строкой или числом), представляющим дату в диапа-

 

 

 

 

зоне 1/1/100 - 12/31/9999

 

 

 

 

 

 

 

 

Возвращает численное значение типа Integer. Е – любое допустимое

 

 

CInt(E)

 

численное или строковое выражение, которое может быть преобра-

 

 

 

 

зовано в число

 

 

 

 

 

 

 

 

Возвращает численное значение типа String. Е – любое допустимое

 

 

CStr(E)

 

численное или строковое выражение, которое может быть преобра-

 

 

 

 

зовано в число

 

 

 

 

 

 

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

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

 

 

 

 

 

 

 

 

 

Возвращает значение типа Date, эквивалентное дате, заданной ар-

 

 

DateValue(E)

 

гументом Е, который может быть строкой, числом или константой,

 

 

 

 

представляющей время

 

 

 

 

 

 

 

 

 

Возвращает значение типа Date, содержащее время, заданное ар-

 

 

TimeValue(E)

 

гументом Е, который может быть строкой, числом или константой,

 

 

 

 

представляющей время

 

 

 

 

 

 

99

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

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

 

 

 

 

 

 

Функция(аргумент)

 

Действие

 

 

 

 

 

 

 

 

 

Возвращает положение S2 в S1. N1 – начальное положение для поис-

 

 

InStr(N1,S1,S2,N2)

 

ка. N2 определяет, следует ли выполнять поиск с учетом регистра.

 

 

 

 

N1, N2 – необязательные аргументы

 

 

 

 

 

 

 

 

 

Возвращает строку (тип String), содержащую копию S со всеми сим-

 

 

Lcase(S)

 

волами верхнего регистра, преобразованными в символы нижнего

 

 

 

 

регистра

 

 

 

 

 

 

 

Left(S,N)

 

Возвращает строку: копирует N символов из S, начиная с левого

 

 

 

крайнего символа S

 

 

 

 

 

 

 

 

 

 

 

Len(S)

 

Возвращает число символов в S, включая начальные и конечные про-

 

 

 

белы

 

 

 

 

 

 

 

 

 

 

 

Ltrim(S)

 

Возвращает копию строки S после удаления символов пробела из ле-

 

 

 

вой части строки (начальные пробелы)

 

 

 

 

 

 

 

 

 

 

 

 

 

Возвращает строку: копирует N2 символов из S, начиная с позиции

 

 

Mid(S,N1,N2)

 

символа в S, заданной аргументом N1. N2 – необязательный аргу-

 

 

 

мент, если он опущен, то возвращаются все символы в строке S от

 

 

 

 

 

 

 

 

позиции N1 до конца строки

 

 

 

 

 

 

 

Right(S,N)

 

Возвращает значение типа String: копирует N символов из S, начиная

 

 

 

с правого крайнего символа S

 

 

 

 

 

 

 

 

 

 

 

Rtrim(S)

 

Возвращает копию строки S после удаления символов пробела из

 

 

 

правой части строки (конечные пробелы)

 

 

 

 

 

 

 

 

 

 

 

Space(N)

 

Возвращает строку пробелов длиной N символов

 

 

 

 

 

 

 

 

 

Сравнивает S1 с S2 и возвращает число, обозначающее результат

 

 

StrComp(S1,S2,N)

 

сравнения: -1, если S1<S2; 0 - S1=S2; 1 - S1>S2. N является необяза-

 

 

 

тельным аргументом и указывает следует ли выполнять сравнение с

 

 

 

 

 

 

 

 

учетом регистра

 

 

 

 

 

 

 

 

 

Возвращает строку, преобразованную в новую форму в зависимости

 

 

 

 

от числового кода, заданного аргументом N. VBA предоставляет внут-

 

 

 

 

ренние константы для использования с функцией StrConv. Наиболее

 

 

StrConv(S,N)

 

полезными являются: vbProperCase (преобразует строку так, что каж-

 

 

 

 

дая буква, начинающая слово, становится заглавной), vbLowerCase

 

 

 

 

(преобразует строку в буквы нижнего регистра) и vbUpperCase (пре-

 

 

 

 

образует строку в буквы верхнего регистра)

 

 

 

 

 

 

 

String(N,S)

 

Возвращает строку длиной N символов, состоящую из символа, за-

 

 

 

данного первым символом в S

 

 

 

 

 

 

 

 

 

 

 

Trim(S)

 

Возвращает копию строки S после удаления начальных и конечных

 

 

 

символов пробела из этой строки

 

 

 

 

 

 

 

 

 

 

 

Ucase(S)

 

Возвращает S со всеми символами нижнего регистра, преобразован-

 

 

 

ными в символы верхнего регистра