Як використовувати substitute у vba (з прикладом)
Ви можете використовувати метод Substitute() у VBA, щоб замінити всі випадки певного тексту в рядку новим текстом.
Цей метод використовує такий базовий синтаксис:
Замінити (текст, старий_текст, новий_текст, номер екземпляра)
золото:
- Текст : текст, у якому потрібно замінити символи
- Старий_текст : текст для заміни
- Новий_текст : текст для заміни
- Instance_num ( необов’язково ) : який екземпляр старого тексту замінити. Якщо не вказано жодного, усі входження старого тексту буде замінено.
Наведені нижче приклади показують, як використовувати цей метод на практиці.
Приклад: як використовувати 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
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зауважте, що кожен пробіл у кожній клітинці стовпця А замінено комою.
Зауважте, що ми також можемо використовувати такий синтаксис, щоб замінити кожен пробіл нічим:
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 тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання за допомогою VBA:
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок
VBA: як підрахувати клітинки з певним текстом