Строка — это последовательность символов. Строковые величины могут быть переменными или константами. Символы, заключенные в кавычки, являются строками.
В VBA существует несколько функций для обработки строк. Mid(вырезка), Len (длина), InStr(поиск), Left (вырезка слева), Right (вырезка справа), Trim (убирает пробелы слева и справа), StrComp (сравнение строк) и др.
Приведем пример обработки строк.
Задача: В строке подсчитать количество цифр.
Решение:
Sub пример_str_4() Dim Mystring, char Dim i, n Mystring = InputBox("Введите строку") n = 0 For i = 1 To Len(Mystring) char = Mid(Mystring, i, 1) If char >= "0" And char <= "9" Then n = n + 1 Next i MsgBox n End Sub
Функция Mid
Общий вид функции Mid:
Mid(Строка, Начальная_позиция[, Длина])
Функция Mid возвращает вырезку из строки Строка, начиная со позиции Начальная_позиция, длиною Длина.
Пример:
Sub пример_mid() Dim MyString, Word1, Word2, Word3 MyString = "Демо функции Mid" Word1 = Mid(MyString, 1, 4) ' результат "Демо" MsgBox Word1 Word2 = Mid(MyString, 14, 3) ' результат "Mid" MsgBox Word2 Word3 = Mid(MyString, 6) ' результат "функции Mid" MsgBox Word3 End Sub
Функция Len
Общий вид функции Len:
Len (Строка)
Функция Len возвращает длину строки Строка.
Пример:
Sub пример_len() Dim MyString Dim Длина MyString = "Демо функции Len" Длина = Len(MyString) MsgBox Длина End Sub
Функция InStr
Общий вид функции InStr:
InStr([нач_позиция, ]Строка1, Строка2[, Опция_1_или_0])
Функция InStr номер первого вхождения в строке Строка1 строки Строка2, начиная с позиции Нач_позиция.
Пример:
Sub пример_instr() Dim Mystring Mystring = "Где Вася" номер = InStr(Mystring, "Вася") ' результат 5 MsgBox номер End Sub