Удаление ненужных пробелов. Функции 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
При выполнении этой процедуры выводится диалоговое окно