Здравия желаю, уважаемые жители планеты Эксель. Пытаюсь начать использовать в макросах регулярные выражения и столкнулся с такой ошибкой:
когда в шаблоне пытаюсь использовать символ с кодом 63 (Chr(63)). Для своей задачи я нашёл обходной путь (такой символ один в ячейке, потому исключал из обработки ячейки с длиной в один символ), но нерешённый вопрос не даёт покоя. Потому у меня вопрос, как можно использовать такие символы в регулярных выражениях? Функция для примера:
Код
Function jjj(s As String) As String
Set objRegExp = CreateObject("VBScript.RegExp")
' objRegExp.Pattern = "(?:(^(--|" & Chr(63) & ")|(-|\+))$)"
objRegExp.Pattern = "(?:(^(--)|(-|\+))$)"
jjj = objRegExp.Replace(s, "")
End Function
В задаче, если в ячейке "--" или символ 63, то игнорируем эти ячейки, если в конце содержимого ячеек "+" или "-" - то убираем из содержимого эти символы. Прошу быть снисходительными к моим попыткам формирования регулярных выражений. Для отладки регулярных выражений использовал данный ресурс. На нём регулярка из закомментированной строки отработала как надо. Выражаю всем свою глубокую благодарность не взирая на результат.
МВТ, спасибо за Ваш интерес и предоставленное решение. Да, работает. Земной Вам поклон от меня. _/\_ Андрей VG, и Вам земной поклон _/\_ за Ваш интерес и предоставленную ссылку. Разобрался.
Код
objRegExp.Pattern = "(?:(^(--|\u25AA)|(-|\+))$)"
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori