Удаление ненужных пробелов. Функции LTrim, RTrim, Trim.
Стандартные (встроенные) функции
Ниже представлены таблицы с кратким описанием наиболее часто используемых функций 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.
Удаление ненужных пробелов. Функции LTrim, RTrim, Trim.
Процедура RemoveBlank удаляет ненужные пробелы в строке str0. Зачастую строки в программе содержат ненужные символы пробелов в конце или в начале строки, которые необходимо удалить, т.к. посторонние начальные или конечные пробелы в строке, не предусмотренные логикой программы, могут вызвать не корректное её выполнение. В VBA имеются три функции, предназначенные для удаления начальных и конечных пробелов из строки: LTrim, RTrim, Trim. Эти функции не изменяют исходную строку, а возвращают копию этой строки с удаленными лишними пробелами слева, справа, и слева и справа соответственно.
Sub RemoveBlank()
Dim Str0, Str1, Str2, Str3
Str0 = " Строка "
Str1 = RTrim(Str0)
Str2 = LTrim(Str0)
Str3 = Trim(Str0)
MsgBox "(" & Str1 & ")" & Chr(13) & _
"(" & Str2 & ")" & Chr(13) & _
"(" & Str3 & ")"
End Sub
При выполнении этой процедуры выводится диалоговое окно