Сумма по цвету и подсчёт по цвету в Excel
Как посчитать ячейки по цвету и получить сумму по цвету ячеек в Excel. Эти решения работают как для окрашенных вручную, так и с условным форматированием.
Как удалить пробелы и пустые строки в Excel с помощью Regex
Используйте регулярные выражения, чтобы удалить различные виды пробелов, но сохранить перенос строки, заменить несколько пробелов подряд одним символом, убрать пробелы только между числами.
Удаление символов или текста при помощи регулярных выражений
Как использовать регулярные выражения для удаления части текста и отдельных символов в ячейке Excel
Поиск и замена в Excel с помощью регулярных выражений
В этом руководстве показано, как быстро добавить пользовательскую функцию в свои рабочие книги, чтобы вы могли использовать регулярные выражения для замены текстовых строк в Excel. Когда дело доходит до замены одного фрагмента текста другим, Microsoft Excel предоставляет ряд опций на выбор, включая инструмент «Найти и заменить» и несколько текстовых функций замены. Зачем кому-то усложнять ситуацию с помощью регулярных выражений? Но дело в том, что стандартные функции Excel могут обрабатывать только ту строку текста, которую вы явным образом укажете. Чтобы найти строку, соответствующую некоторому шаблону, и заменить ее чем-то другим, необходимы регулярные выражения. Вот о чем мы будем говорить в этой статье: Функция замены при помощи регулярных выражений Excel VBA Замена текста, соответствующего шаблону Замена чисел в тексте Заменить денежные суммы Поиск и замена всех совпадений Замена определенного по счёту экземпляра Поиск и замена в Excel с помощью Regex Tools Регулярное выражение – это шаблон, состоящий из последовательности символов, который можно использовать для поиска соответствующих символов в тексте. Функция замены при помощи регулярных выражений Excel VBA Как известно, встроенные функции Excel не поддерживают регулярные выражения. Чтобы иметь возможность использовать регулярные выражения в своих формулах, вам нужно создать собственную функцию. К счастью, объект RegExp уже существует в VBA, и мы используем этот объект в приведенном ниже коде: Public Function RegExpReplace(text As String, pattern As String, text_replace As String, Optional instance_num As Integer = 0, Optional match_case As Boolean = True) As String Dim text_result, text_find As String Dim matches_index, pos_start As Integer On Error GoTo ErrHandle text_result = text Set regex = CreateObject("VBScript.RegExp") regex.pattern = pattern regex.Global = True regex.MultiLine = True If True = match_case Then regex.ignorecase = False Else regex.ignorecase = True End If Set matches = regex.Execute(text) If 0 < matches.Count Then If (0 = instance_num) Then text_result = regex.Replace(text, text_replace) Else If instance_num <= matches.Count Then pos_start = 1 For matches_index = 0 To instance_num - 2 pos_start = InStr(pos_start, text, matches.item(matches_index), vbBinaryCompare) + Len(matches.item(matches_index)) Next matches_index text_find = matches.item(instance_num - 1) text_result = Left(text, pos_start - 1) & Replace(text, text_find, text_replace, pos_start, 1, vbBinaryCompare) End If End If End If RegExpReplace = text_result Exit Function ErrHandle: RegExpReplace = CVErr(xlErrValue) End Function Добавьте этот код VBA в вашу рабочую книгу. Советы: Если у вас мало опыта работы с VBA, это руководство проведет вас через процесс: Как создать пользовательскую функцию VBA в Excel . После добавления кода не забудьте сохранить файл как книгу с поддержкой макросов (.xlsm). Синтаксис RegExpReplace Функция RegExpReplace ищет во входной строке значения, соответствующие регулярному выражению, и заменяет найденные совпадения указанным вами текстом. Функция принимает 5 аргументов, но обязательными являются только первые три. RegExpReplace(текст; шаблон; text_replace; [instance_num]; [match_case]) Где: Текст (обязательно) — текстовая строка для поиска. Шаблон (обязательно) — регулярное выражение для сопоставления. Text_replace (обязательно) — текст для
Как извлечь строку из текста при помощи регулярных выражений
Как использовать регулярные выражения в Excel для поиска и извлечения из ячейки части текста, соответствующего заданному шаблону.
Как правильно сохранить и применять пользовательскую функцию Excel
Как правильно сохранить и применять пользовательские функции в Excel. Как вызывать пользовательские функции из другой книги или надстройки.
4 способа отладки пользовательской функции
Как найти ошибки в работе пользовательской функции при помощи отладки? Несколько методов отладки на ваш выбор.
Пользовательская функция и макрос VBA: преимущества и недостатки
В чем различие между пользовательскими функциями и макросами Excel? Узнайте, что можно и что нельзя сделать с помощью пользовательских функций, их плюсы и минусы.
Почему пользовательская функция не работает: проблемы и решения
Как добавить текст подсказки при вводе пользовательской функции? Почему пользовательская функция не работает, не отображается и не пересчитывается? Что вызывает эти проблемы и как их быстро решить.
Как создать пользовательскую функцию?
Чтобы расширить возможности вычислений, Excel при помощи VBA позволяет добавить новые пользовательские функции. Объясним, как их создавать и использовать, чтобы сделать вашу работу легче.