Как использовать замену в vba (с примером)


Вы можете использовать метод Substitute() в VBA, чтобы заменить все вхождения определенного текста в строке новым текстом.

Этот метод использует следующий базовый синтаксис:

Заменить (Текст, Старый_текст, Новый_текст, Номер_экземпляра)

Золото:

  • Текст : текст, в котором вы хотите заменить символы.
  • Old_text : Текст для замены.
  • New_text : текст, который будет использоваться в качестве замены.
  • Номер_экземпляра ( необязательно ) : какой экземпляр старого текста заменить. Если ничего не указано, заменяются все вхождения старого текста.

Следующие примеры показывают, как использовать этот метод на практике.

Пример: как использовать Substitute в VBA

Предположим, у нас есть следующий список выражений в Excel:

Предположим, вместо этого мы хотим заменить каждый пробел в каждой ячейке запятой.

Для этого мы можем создать следующий макрос:

 Sub SubstituteText()

Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")

For Each cell In rng
    cell = WorksheetFunction.Substitute(cell, " ", ",")
Next
    
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Обратите внимание, что каждый пробел в каждой ячейке столбца A заменен запятой.

Обратите внимание, что мы также могли бы использовать следующий синтаксис, чтобы заменить каждый пробел ничем:

 Sub SubstituteText()

Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")

For Each cell In rng
    cell = WorksheetFunction.Substitute(cell, " ", "")
Next
    
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Обратите внимание, что каждый пробел в каждой ячейке столбца A ничем не заменен.

Другими словами, мы удалили все пробелы из каждой ячейки столбца A.

Примечание . Полную документацию по методу VBA Substitute можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью VBA:

VBA: как подсчитать вхождение символов в строку
VBA: как проверить, содержит ли строка другую строку
VBA: как подсчитать ячейки с определенным текстом

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *