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