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

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

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