Наверно не все, но некоторые знают, что в VBA регулярные выражения поддерживаются за счет библиотеки Microsoft VBScript Regular Expressions 5.5 коротая, в свою очередь по сравнению с регулярными выражениями .Net (System.Text.RegularExpressions) имеет не такой большой набор возможностей. Учитывая что по Microsoft VBScript Regular Expressions 5.5 сложно найти пособия и информацию Я решил разнообразить Excel новыми функциями работающими с регулярными выражениями .Net.
Функции включены в надстройку C# Regex.xll (загружается как обычная надстройка xls) Всю информацию по написанию шаблонов (патернов) поиска можно найти в библиотеке msdn Надстройка содержит следующие UDF: RegexMatch(Текст, Шаблон поиска) - выполняет поиск в тексте и возвращает первое найденное соответствие шаблону поиска RegexMatches(Текст, Шаблон поиска, Разделитель) - выполняет поиск в тексте и возвращает все найденные соответствия шаблону поиска, разделенные Разделителем RegexReplace(Текст, Шаблон поиска, Шаблон замены) - выполняет поиск и замену частей текста соответствующих шаблону поиска на шаблон замены (или просто на текст) RegexReplacePlus(Текст, Шаблон поиска, Шаблон замены) - аналогичен RegexReplace, но в качестве Шаблонов Поиска и Замены выступают диапазоны ячеек, имеющих одинаковую размерность, при этом функция выполняет последовательную обработку текста по принципу: из диапазонов читаются (парно) ячейки с шаблонами Поиска и Замены соответствующие друг другу по позиции в массиве, выполняется обработка по типу RegexReplace полученное значение переходит к следующей итерации и все повторяется пока не закончатся значения из диапазонов.
Если кому интересно могу выложить более подробную информацию и примеры.
П.С. 1. в функциях не ограничены диапазоны по-этому вписывать в значения функций диапазоны D :D , E:E и т.п. не стоит т.к. функция все равно пройдет все ячейки, а их свыше 1 млн. для одной итерации. 2. В шаблонах для замены на пустоту необходимо использовать знак апострофа '