Всем привет. Вопрос такой : имеется столбец с числами, между рандомными числами спрятаны номера телефонов. Как я могу отсортировать таблицу, чтобы она мне выдавала только номера телефона. Как я подумал нужно задать "удалить все числа в строке, кроме девяти цифр после 89 и +79"
Неправильно мы подумали. Название темы: выбрать из строки! =ЕСЛИ(ЕЧИСЛО(ПОИСК("89?????????";A1));ПСТР(A1;ПОИСК("89";A1);11);ЕСЛИ(ЕЧИСЛО(ПОИСК("+79?????????";A1));ПСТР(A1;ПОИСК("+79";A1);12);"увы"))
Спасибо, получилось. Такой вопрос ещё, а как мне удалить все строчки лишние теперь, чтобы оставить только номера. И удалить повторяющиеся?) И все эти номера были заданы не формулой, а цифрами, для дальнейшего редактирования.
добрый день,только прочитал Вашу тему,вариант функции и макрос ,кнопка test
Код
Function yyy$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "(\+79|89)(\d{9})"
If .test(t) Then yyy = .Execute(t)(0).Submatches(1)
End With
End Function
Павел гер, файл с данными только в 2ух ячейках весит гораздо меньше 100 кб Разбирайтесь
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Function Telefon1(txt As String) As String
Dim str1 As String, i As Byte
With CreateObject("VBScript.RegExp"): .Pattern = "\+?[7-8](-|\s)?\(?\d{3}\)?(-|\s)?\d{3}((-|\s)?\d{2}){2}": .Global = True
Set objMatches = .Execute(txt)
For i = 0 To objMatches.Count - 1
str1 = str1 & "; " & objMatches.Item(i).Value
Next
End With
Telefon1 = Mid(str1, 3)
End Function
Спасибо Вам огромное за уделенное время. Скачал файл, все работает. Только вот с макросами не успел подружиться. Скопировал ваш код, создал новый макрос на своём файле, вставил в него Ваш код, а он выдает ошибку за ошибкой. В вашем файл открываю раздел МАКРОСЫ а он пустой. Поможете понять в чем дело? Скрин ошибки прикрепил.
Это появилось после запуска вашего кода, он просит ввести имя макроса. Я ввожу имя, он прописывает его ниже вашего кода. Но после этого макрос никак не запускается. Я по просмотренным видео подумал, что его надо вставить вначале.