Vba: як витягнути текст між двома символами
Ви можете створити таку настроювану функцію у VBA для вилучення тексту між двома певними символами:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
Потім ви можете використовувати цю функцію, щоб витягнути текст між двома певними символами в певний символ у Excel.
У наступному прикладі показано, як використовувати цю функцію на практиці.
Приклад: використання VBA для виділення тексту між двома символами
Припустимо, у нас є наступний набір даних в Excel, що містить значення ID і загальний обсяг продажів різних продуктів в компанії:
Припустімо, ми хочемо використовувати VBA, щоб витягти текст у дужках для кожної комірки в стовпці A та повернути результати в стовпець C.
Для цього ми можемо створити таку функцію:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
Потім ми можемо ввести таку формулу в клітинку C2 , щоб витягти текст у дужках для тексту в клітинці A2 :
=ExtractBetween( A2 , "(", ")")
Потім ми можемо клацнути та перетягнути цю формулу до кожної клітинки, що залишилася в стовпці C:
У стовпці C тепер відображається текст у дужках для кожної відповідної клітинки в стовпці A.
Примітка . Ця формула працює за допомогою функції Instr у VBA, щоб отримати позицію певних початкових і кінцевих символів, а потім за допомогою функції Mid , щоб повернути весь текст між цими двома символами.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання за допомогою VBA:
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок
VBA: як підрахувати клітинки з певним текстом