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, содержащий значения идентификаторов и общий объем продаж различных продуктов в компании:
Предположим, мы хотим использовать 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: как подсчитать ячейки с определенным текстом