Как использовать функцию «найти и заменить» в 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: как подсчитать ячейки с определенным текстом