Как использовать функцию «найти и заменить» в vba (с примерами)


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

Способ 1. Найдите и замените строки (без учета регистра).

 Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks "
End Sub

Этот конкретный макрос заменит каждое вхождение «Mavs» на «Mavericks» в диапазоне A1:B10 .

Метод 2: поиск и замена строк (с учетом регистра)

 Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks ", MatchCase:= True
End Sub

Этот конкретный макрос заменит каждое вхождение «Mavs» на «Mavericks» в диапазоне A1:B10 только в том случае, если регистр соответствует .

Например, строка «mavs» не будет заменена, поскольку она не совсем соответствует регистру «Mavs».

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

Пример 1. Поиск и замена строк с помощью VBA (регистронезависимо)

Допустим, мы хотим заменить каждое вхождение «Mavs» на «Mavericks» в диапазоне A1:B10 .

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

 Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks "
End Sub

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

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

Пример 2. Поиск и замена строк с помощью VBA (с учетом регистра)

Предположим, мы хотим заменить каждое вхождение «Mavs» на «Mavericks» в диапазоне A1:B10 только в том случае, если регистр соответствует .

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

 Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks ", MatchCase:= True
End Sub

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

Обратите внимание, что эта замена чувствительна к регистру .

Это означает, что каждое вхождение «Mavs» заменяется, но каждое вхождение «mavs» остается в покое.

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

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

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

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

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