Здравствуйте. необходимо получить подстроку по маске и выделить до первой буквы. например: есть строка QWE123-12319.10.12.123Вася нужно получить 19.10.12.123 До 19.10 может быть разное количество символов. Искать нужно по маске 19.10. Спасибо
Найти 19.10. в строке не проблема даже стандартными функциями. Но почему получить при этом надо 19.10.12.123? На основании какой логики?
P.S. Одной строки примера явно недостаточно. Лучше будет, если приложите пример файла с данными(строк 10 различных комбинаций) и для каждой покажете желаемый результат с описанием, почему именно так.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Разница с вариантом от Ігор Гончаренко в том, что мой шаблон подберёт количество цифр точно, а у него допускается произвольное их количество в каждой группе после 19.10. Что вам лучше - решайте сами.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
всем спасибо за ответы. но что то не получается ничего. я никогда не использовал функцию эту. все сделал по инструкции, но ощущение, что она не работает. в ячейке ИМЯ пишет и все. сам паттерн писал в отдельной ячейке.
Public Function RegExpExtract(Text As String, Pattern As String, Optional Item As Integer = 1) As String
Set regEx = CreateObject("VBScript.RegExp")
regex.Pattern = Pattern
regex.Global = True
Set matches = regEx.Execute(Text)
RegExpExtract = matches.Item(Item - 1)
End Function
в файле: в ячейке А3 текст, ячейка H3 =RegExpExtract(A3;$I$3), ячейка I3: 19\.10\.\d+\.\d{1,3}
если бы так и делали - не получили бы ошибку ИМЯ. Эта ошибка бывает в двух случаях: 1. Макросы не разрешены. 2. UDF в книге отсутствует или создана неправильно. Поясню про макросы(мало ли не в курсе): после того, как изменили уровень безопасности макросов - Excel надо полностью перезапустить. Т.е. закрыть все книги Excel, чтобы ни одного окна Excel не было. Потом открыть нужный файл и попробовать работу функции.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...