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:

VBA извлекает текст между двумя конкретными символами

В столбце C теперь отображается текст в круглых скобках для каждой соответствующей ячейки в столбце A.

Примечание . Эта формула работает с использованием функции Instr в VBA для извлечения положения определенных начальных и конечных символов, а затем с использованием функции Mid для возврата всего текста между этими двумя символами.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью VBA:

VBA: как подсчитать вхождение символов в строку
VBA: как проверить, содержит ли строка другую строку
VBA: как подсчитать ячейки с определенным текстом

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *