Всем привет. Подскажите, нужна формула, которая будет искать значения определенного формата в столбце и возвращать их в соседнюю колонку. Образец во вложении, думаю там все понятно - нужно найти кадастровые номера в столбце А и вынести их в колонку B,если в ячейке 2 кад. номера, выносить оба. Заранее спасибо
[p.s.] если это как-то поможет...
Всем привет. Подскажите, нужна формула, которая будет искать значения определенного формата в столбце и возвращать их в соседнюю колонку. Образец во вложении, думаю там все понятно - нужно найти кадастровые номера в столбце А и вынести их в колонку B,если в ячейке 2 кад. номера, выносить оба. Заранее спасибо
Если текст всегда такой, можно без формул через Ctrl+H. Скопировать данные в столбец В--Ctrl+H--найти "статус*"--заменить --пусто--заменить всё и еще раз найти "*участок: "--заменить--пусто--заменить все. Выделенным должен оставаться диапазон, куда вставили скопированное (столбец В).Останется только номер из первой строки.
Если текст всегда такой, можно без формул через Ctrl+H. Скопировать данные в столбец В--Ctrl+H--найти "статус*"--заменить --пусто--заменить всё и еще раз найти "*участок: "--заменить--пусто--заменить все. Выделенным должен оставаться диапазон, куда вставили скопированное (столбец В).Останется только номер из первой строки.gling
ЯД-41001506838083
Сообщение отредактировал gling - Четверг, 09.07.2015, 23:24
Function f$(s$) Dim re As Object, m As Object Set re = CreateObject("vbscript.regexp"): re.Pattern = "\d+:\d+:\d+:\d+": re.Global = True Set m = re.Execute(s): For i = 0 To m.Count - 1: f = Chr(10) & f & m(i): Next f = Mid(f, 2) End Function
[/vba] но зато найдет любое количество да и на листе проще использовать.
из пушки по воробьям - UDF. [vba]
Код
Function f$(s$) Dim re As Object, m As Object Set re = CreateObject("vbscript.regexp"): re.Pattern = "\d+:\d+:\d+:\d+": re.Global = True Set m = re.Execute(s): For i = 0 To m.Count - 1: f = Chr(10) & f & m(i): Next f = Mid(f, 2) End Function
[/vba] но зато найдет любое количество да и на листе проще использовать. ikki
Function f$(s$) Dim m As Object With CreateObject("vbscript.regexp") .Pattern = "\d+:\d+:\d+:\d+": .Global = True: Set m = .Execute(s) ' f = iif(m.Count > 0, Join(m, vbCr), "") End With End Function
[/vba]
P.S. 2ikki Да, что-то это я не туда посмотрел... Ввёл ты меня в заблуждение неиспользованием .Item А с авой всё просто - ну лень мне снова подбирать вырезку нужного формата с нужными размерами, а старая - не принимается
ikki, если уж делать "круть" - то до конца: [vba]
Код
Function f$(s$) Dim m As Object With CreateObject("vbscript.regexp") .Pattern = "\d+:\d+:\d+:\d+": .Global = True: Set m = .Execute(s) ' f = iif(m.Count > 0, Join(m, vbCr), "") End With End Function
[/vba]
P.S. 2ikki Да, что-то это я не туда посмотрел... Ввёл ты меня в заблуждение неиспользованием .Item А с авой всё просто - ну лень мне снова подбирать вырезку нужного формата с нужными размерами, а старая - не принимаетсяAndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Пятница, 10.07.2015, 12:10
AndreTM или ikki, куда вставить этот код? (Представьте, что объясняете эту дереву) Просто в Экселе я не работал никогда особо, попробовал создать макрос и вставить туда - выдаёт ошибку Compile Error: Expected variable or procedure, not module.
AndreTM или ikki, куда вставить этот код? (Представьте, что объясняете эту дереву) Просто в Экселе я не работал никогда особо, попробовал создать макрос и вставить туда - выдаёт ошибку Compile Error: Expected variable or procedure, not module. Archangel1408
Alt+F11, вставить стандартный модуль (Insert-Module), в него - функцию.
если открыто несколько файлов и/или есть личная книга макросов - то необходимо перед вставкой модуля обратить внимание, какая именно книга активна в окне редактора VBE - смотрим в окно проекта (Project Window). если неактивно - View - Project Explorer
такая же фигня. но мне за отдельную плату обещали посодействовать... вот, коплю бабки...[/offtop]
Alt+F11, вставить стандартный модуль (Insert-Module), в него - функцию.
если открыто несколько файлов и/или есть личная книга макросов - то необходимо перед вставкой модуля обратить внимание, какая именно книга активна в окне редактора VBE - смотрим в окно проекта (Project Window). если неактивно - View - Project Explorer