Здравствуйте уважаемые форумчане! Нужна помощь в написании формулы или VBA кода.
Имеется колонка с текстовыми данными из которой необходимо вытащить цифровой код в отдельную колонку. (Пример в приложении) Код может быть от 4 знаков и до 9, дальше может будет больше Руками его набивать не вариант, там бывают тысячи строк. Пытался сам написать никак не получается. В тексте также присутствуют другие цифры, которые нужно игнорировать.
Пример текста №1: База цен Снабжения, Договор ОСТ-0183/15 8 1744441 (расценка по аналогу Код Отвод 90 89х6-09Г2С) ----------> надо вытащить 1744441 Пример текста №2: База цен Снабжения, Договор ОСТ-0201/15 43 1001531 ----------------------> надо вытащить 1001531
Критерии отбора это: 1. число от 4 до 9 знаков 2. может стоять в конце строки или перед открывающейся скобкой (
Помогите автоматизировать данный процесс
Здравствуйте уважаемые форумчане! Нужна помощь в написании формулы или VBA кода.
Имеется колонка с текстовыми данными из которой необходимо вытащить цифровой код в отдельную колонку. (Пример в приложении) Код может быть от 4 знаков и до 9, дальше может будет больше Руками его набивать не вариант, там бывают тысячи строк. Пытался сам написать никак не получается. В тексте также присутствуют другие цифры, которые нужно игнорировать.
Пример текста №1: База цен Снабжения, Договор ОСТ-0183/15 8 1744441 (расценка по аналогу Код Отвод 90 89х6-09Г2С) ----------> надо вытащить 1744441 Пример текста №2: База цен Снабжения, Договор ОСТ-0201/15 43 1001531 ----------------------> надо вытащить 1001531
Критерии отбора это: 1. число от 4 до 9 знаков 2. может стоять в конце строки или перед открывающейся скобкой (
Но когда копирую в другой файл, то вариант со скобками после цифрового кода, пишет 0 (ноль). База цен Снабжения, Договор ОСТ-0183/15 8 1744441 (расценка по аналогу Код Отвод 90 89х6-09Г2С) ------------> 0
Вариант без скобок работает нормально.
Nic70y, Спасибо на примере работает.
Но когда копирую в другой файл, то вариант со скобками после цифрового кода, пишет 0 (ноль). База цен Снабжения, Договор ОСТ-0183/15 8 1744441 (расценка по аналогу Код Отвод 90 89х6-09Г2С) ------------> 0
китин, спасибо за помощь! :) Просто в пример попали 7-значные, а в реале могут быть от 4 до 9, а может даже и больше. :( а недавно ещё появились коды формата SODXXXXXXXX, HAWXXXXXXX, KFKXXXXXXXX, NOBXXXXXXX, POBXXXXXXXX , Х - это рандомные цифры, которых может быть тоже не фиксированное количество [moder]Ну так почему у Вас этого в примере нет? Давайте нормальный пример, что Вы тратите время помогающих впустую!
китин, спасибо за помощь! :) Просто в пример попали 7-значные, а в реале могут быть от 4 до 9, а может даже и больше. :( а недавно ещё появились коды формата SODXXXXXXXX, HAWXXXXXXX, KFKXXXXXXXX, NOBXXXXXXX, POBXXXXXXXX , Х - это рандомные цифры, которых может быть тоже не фиксированное количество [moder]Ну так почему у Вас этого в примере нет? Давайте нормальный пример, что Вы тратите время помогающих впустую!Aleksej
Сообщение отредактировал _Boroda_ - Среда, 02.03.2016, 09:05
Function zzz(t$) With CreateObject("VBScript.RegExp"): .Pattern = "(\d+)(?= \(|$)" If .test(t) Then zzz = .Execute(t)(0).Submatches(0) End With End Function
[/vba]
Aleksej, еще вариант функции zzz в столбце G
[vba]
Код
Function zzz(t$) With CreateObject("VBScript.RegExp"): .Pattern = "(\d+)(?= \(|$)" If .test(t) Then zzz = .Execute(t)(0).Submatches(0) End With End Function