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

Автор: | 14.05.2016

Replace
Возвращает строку, в которой указанная подстрока заданное число раз заменена другой подстрокой.

Задание

Введите фразу Приветствую тебя мой друг в ячейку А1 и замените слово друг на слово брат. Результат запишите в ячейку А2.

Sub myReplace()4

Cells(1, 2).Value = Replace(Cells(1, 1).Value, "äðóã", "áðàò")
End Sub

Результат:

Split
Возвращает одномерный массив (с индексацией от нуля), содержащий указанное число подстрок.

Задание. Введите имена в ячейку А1 через пробел и запишите их в столбец ниже разбив по пробелу.

Sub MySplit()
arr = Split(Cells(1, 1).Value, " ")
Cells(2, 1).Value = arr(0)
Cells(3, 1).Value = arr(1)
Cells(4, 1).Value = arr(2)
Cells(5, 1).Value = arr(3)
Cells(6, 1).Value = arr(4)
End Sub

Результат:

 

StrComp
Возвращает -1, 0 или 1 в зависимости от результата сравнения строк.

Ноль означает что строки равны. -1 означает что первая строка меньше второй 1 означает что первая больше второй.

Sub myStrComp()
Res = StrComp(Cells(1, 1).Value, Cells(1, 2).Value)
If (Res = 0) Then
Cells(1, 3).Value = "Строки равны"
Else
Cells(1, 3).Value = "Строки не равны"
End If

End Sub

Задание

Ввести в ячейки A1 и А2 две строки и сравнить их с помощью StrComp

Trim
Возвращает строку, содержащую копию указанной строки без пробелов в начале и конце.

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

Задание:

Написать макрос по проверке наличия пробелов в начале или в конце ячейки

В начале нужно записать новое значение взятое из ячейки с помощью trim в соседнюю ячейку и потом сравнить два значения. Если они равны то вывести сообщение о том что пробелов нет. Иначе вывести сообщение что пробелы есть.

InStr

Функция возвращает позицию одного слова в другом. Не работает с кирилическими символами

Пример

res=InStr(«Tech on the Net», «T»)

Вернет 1. Это позиция буквы T во фразе Tech on the Net

Задание:

Ввести два значения в разные ячейки и найти одно значение в другом. В третью ячейку вывести позицию в которой находится фраза.

Если результат ноль то вывести что совпадений не найдено.

Раздел: VBA