Як використовувати функцію пошуку та заміни у 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: як підрахувати клітинки з певним текстом

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *