Найти тему

📌 VBA Excel: регулярные выражения (RegExp). Поиск и обработка текста на основе шаблона (практический пример)

В некоторых ситуациях задача извлечения необходимой информации из текста не столь проста, как кажется на первый взгляд 🤔 .

Решив использовать встроенные функции вы можете столкнуться с несколькими препятствиями, такими как неясность исходных данных, различное расположение нужной информации или изменяющаяся длина текста.

Например, номера идентификационных кодов (ИНН) у юридических и физических лиц имеют разную длину, что усложняет процесс автоматизации.

Так же отметим, что использование оператора Like зачастую не приносит нужного результата, т.к его действие ограничивается лишь проверкой наличия подстроки в тексте и не предоставляет функционала для ее извлечения.

Но, не стоит отчаиваться! 😎

Один из методов, который может помочь в решении этой задачи - это использование специализированных инструментов и алгоритмов, которые позволяют более эффективно и точно извлекать нужные фрагменты из текста.

Подробнее, рассказываем в обзоре 😉.

Для удобства поиска нужного материала у нас на канале есть удобный рубрикатор, а все видео предыдущих уроков также доступны на youtube (ссылка внизу поста и в описании канала)
Для удобства поиска нужного материала у нас на канале есть удобный рубрикатор, а все видео предыдущих уроков также доступны на youtube (ссылка внизу поста и в описании канала)
VBA Excel: регулярные выражения (RegExp). Поиск и обработка текста на основе шаблона (практический пример)
VBA Excel: регулярные выражения (RegExp). Поиск и обработка текста на основе шаблона (практический пример)

📢 Файл с примером размещен в конце статьи 🔽

Рассмотренный пример, позволяет автоматизировать процесс извлечения фрагмента цифр нужной длины
Рассмотренный пример, позволяет автоматизировать процесс извлечения фрагмента цифр нужной длины

▶️ RegExp: регулярные выражения VBA Excel

RegExp (Regular Expressions) - инструмент в VBA Excel, который позволяет осуществлять поиск и обработку текста на основе шаблонов.

С помощью регулярных выражений можно искать определенные шаблоны символов в строках, осуществлять замену, разделение и другие операции с текстом.

📝 Основные шаблоны для сопоставления символов

Наиболее часто используемые шаблоны для сопоставления определенных символ
Наиболее часто используемые шаблоны для сопоставления определенных символ

Использование RegExp значительно упрощает обработку данных, позволяя выполнить сложные операции с текстом более эффективно и гибко.

▶️ Как извлечь строку с помощью регулярных выражений: практический пример

В качестве исходных данных рассмотрим сведения о контрагентах:

Пример исходных данных
Пример исходных данных

🎯 Задачей данного примера является поиск КПП контрагента с последующей записью найденного значения в столбец В.

🔘 Пример макроса

Макрос позволяет выполнить поиск и запись последовательностей цифр определенной длины из столбца A в столбец B.
Макрос позволяет выполнить поиск и запись последовательностей цифр определенной длины из столбца A в столбец B.

⚙️ Как это работает:

  • Объявление переменных: определяем переменные для работы с диапазонами ячеек, регулярным выражением и объектом для хранения найденных числовых значений.
  • Создание регулярного выражения: создаем объект регулярного выражения с помощью функции CreateObject. Устанавливаем параметры поиска: глобальный поиск, игнорирование регистра и шаблон для поиска последовательностей из 9 цифр.
  • Проход по каждой ячейке в столбце A: с помощью цикла For Each перебираем все ячейки в столбце A, начиная с первой и до последней непустой.
  • Поиск совпадений в тексте ячейки: для каждой ячейки выполняется поиск совпадений с помощью метода Execute объекта регулярного выражения. Найденные числовые последовательности сохраняются в объект numbers.
  • Запись найденных чисел в столбец B: если в ячейке были найдены числа (число совпадений больше нуля), то первое найденное значение записывается в соседнюю ячейку в столбце B, с помощью функции Offset.

➡️ Результат:

Пример решения: как извлечь строку с помощью регулярных выражений
Пример решения: как извлечь строку с помощью регулярных выражений

🔷 Подводя итог ...

Рассмотренный прием позволяет автоматизировать процесс поиска и записи числовых значений определенной длины из текстовых строк и может быть полезен при обработке данных в Excel.

🔔 В зависимости от конечной цели макрос может быть пополнен и изменен.

Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel
Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel

🔵 Ознакомиться с другими приемами VBA Excel вы можете в наших предыдущих обзорах 🔽

Быстрый поиск решения. Путеводитель Excel - Google Диск
Примеры макросов VBA Excel | Excel на ИЗИ: ✅ Приемы эффективной работы в Microsoft Excel | Дзен

🙌 Оставайся с нами на связи и узнавай больше о других методах и приемах работы в Excel:

Excel на ИЗИ — полная коллекция видео на Rutube
It's Moskovskaya_Excel на ИЗИ - YouTube
Следите за новостями, чтобы узнать больше о VBA и Excel, в частности
Следите за новостями, чтобы узнать больше о VBA и Excel, в частности
Excel на ИЗИ

СКАЧАТЬ ПРИМЕР 🔽

Регулярные выражения_Поиск и обработка текста на основе шаблона.xlsm