Обработка строк

Строка — это последовательность символов. Строковые величины могут быть переменными или константами. Символы, заключенные в кавычки, являются строками.

В 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 возвращает вырезку из строки Строка, начиная со позиции Начальная_позиция, длиною Длина.

Пример:

  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 возвращает длину строки Строка.

Пример:

  Sub пример_len()
  Dim MyString
  Dim Длина
  MyString = "Демо функции Len"
  Длина = Len(MyString)
  MsgBox Длина
  End Sub

Общий вид функции InStr:

InStr([нач_позиция, ]Строка1, Строка2[, Опция_1_или_0])

Функция InStr номер первого вхождения в строке Строка1 строки Строка2, начиная с позиции Нач_позиция.

Пример:

  Sub пример_instr()
  Dim Mystring
  Mystring = "Где Вася"
  номер = InStr(Mystring, "Вася") ' результат 5
  MsgBox номер
  End Sub