Файл прилагаю. В 1 столбце улица + номер дома + номер корпуса + номер квартиры
в следующем: номер дома номер корпуса номер квартиры
также сделал лист (вход 2) где "номер дома + номер корпуса + номер квартиры" в 1 столбце.
Нужно очистить 1 столбец от "номер дома + номер корпуса + номер квартиры" оставив только улицу. При этом удалять нужно только если ячеуке 1 столбца эти данные находятся в крайнем правом положении "Улица 2" --> "Улица" ; "2 Улица" --> "2 Улица" .
Приветствую!
Пожалуйста, прошу, помощи!
Файл прилагаю. В 1 столбце улица + номер дома + номер корпуса + номер квартиры
в следующем: номер дома номер корпуса номер квартиры
также сделал лист (вход 2) где "номер дома + номер корпуса + номер квартиры" в 1 столбце.
Нужно очистить 1 столбец от "номер дома + номер корпуса + номер квартиры" оставив только улицу. При этом удалять нужно только если ячеуке 1 столбца эти данные находятся в крайнем правом положении "Улица 2" --> "Улица" ; "2 Улица" --> "2 Улица" .gust
Что-то сложное выражение вышло. Сократить не получилось. [vba]
Код
Function iAddress(Address_old As String) As String Set objRegExp = CreateObject("VBScript.RegExp") objRegExp.Pattern = "\d{0,3}[А-ЯЁ]?\s-\s?(\d{0,3}|[А-ЯЁ]*)\s?-?$" If objRegExp.Test(Address_old) Then iAddress = Trim(objRegExp.Replace(Address_old, "")) End Function
[/vba]
Что-то сложное выражение вышло. Сократить не получилось. [vba]
Код
Function iAddress(Address_old As String) As String Set objRegExp = CreateObject("VBScript.RegExp") objRegExp.Pattern = "\d{0,3}[А-ЯЁ]?\s-\s?(\d{0,3}|[А-ЯЁ]*)\s?-?$" If objRegExp.Test(Address_old) Then iAddress = Trim(objRegExp.Replace(Address_old, "")) End Function