Страницы: 1
RSS
Как получить название улицы из текста, содержащего адрес?
 
Всем доброе время суток, работаю с данным в ексели, и очень хочется автоматизировать таблицы, помогите прописать формулу, чтобы вытянуть название (файл загружен), минус всего это в колонки разное положение наименование улицы. Мне нужно вытянуть название улицы.  Спасибо заранее  
 
Саша Саша, и вы туда же?
нужно вам получить название улицы, так и пишите в теме:
"как получить название улицы из текста, содержащего адрес?"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Беда конечно с этими вашими экселями )))  
чтоб дело мастера боялось, он знает много страшных слов.
 
Цитата
минус всего это в колонки разное положение наименование улицы
UDF
Код
Function iStreet(cell$)
 With CreateObject("VBScript.RegExp")
     .IgnoreCase = True
     .Pattern = "(ул\.|улица|пр\.)\s([^,]+)"
     If .test(cell) Then
       iStreet = .Execute(cell)(0).SubMatches(1)
     Else
       .Pattern = "([^,]+)(?=ул\.|тракт|пр\.)"
       iStreet = .Execute(cell)(0)
     End If
 End With
End Function
 
Цитата
Ігор Гончаренко написал:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Спасибо в следующий раз буду знать, впервые на данном форуме. Никогда не была поклонником Exel))
 
Цитата
Ri Yu написал:
чтоб дело мастера боялось, он знает много страшных слов.
Спасибо за помощь. Excel это загадочная штука, каждый день узнаешь, что- то новое.  
 
Цитата
Kuzmich написал:
unction iStreet(cell$) With CreateObject("VBScript.RegExp")     .IgnoreCase = True     .Pattern = "(ул\.|улица|пр\.)\s([^,]+)"     If .test(cell) Then       iStreet = .Execute(cell)(0).SubMatches(1)     Else       .Pattern = "([^,]+)(?=ул\.|тракт|пр\.)"       iStreet = .Execute(cell)(0)     End If End WithEnd Function
как это все сделать мне в мою книгу? подскажите? или в тот же файл, который вложила. Голова кругом увидела (понимаю, что макрос и все)))  
 
Саша Саша, сообщения №5, 6. Вы отвечаете на подписи! :)
Сообщение №6. Вы бездумно копируете. Цитата - не копия.
Сообщения №№5-7. Можно было вернуться в первое из них и дополнить его, а не создавать очередь
 
Саша Саша, Создание макросов и пользовательских функций на VBA
P.S.: свои сообщения нужно дополнять (через редактирование), а не плодить новые - могут забанить  ;)
Изменено: Jack Famous - 22.01.2021 16:47:25
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Саша Саша,
UDF  в стандартный модуль
В ячейку столбца В пишите =iStreet(A2)  в A2 ваш текст
Страницы: 1
Наверх