Страницы: 1
RSS
создать фильтр телефонных номеров по критериям
 
В очередной раз обращаюсь к спецам по VBA за помощью, т.к. собственных знаний недостаточно.
В столбце в ячейках столбца B содержаться исходные «сырые» данные, которых порой будет более чем на 30000 ячеек. В столбце C находиться желаемый результат после обработки – телефонные номера. Нужно, чтобы при нажатии на кнопку макрос выполнял нужные действия.
Критерии следующие:
удалить из ячеек все символы кроме цифр
удалить все числовые значения, кроме чисел следующего формата:
2ХХХХХХ
3ХХХХХХ
4ХХХХХХ
5ХХХХХХ
6ХХХХХХ
7ХХХХХХ
9ХХХХХХ
9ХХХХХХХХХ
То есть нужно оставить только 7-значные числа, которые не начинаются на «0», «1», «8». Оставить 10-значные (мобильные) номера, которые начинаются на «9». Если в номере более 10 цифр, то нужно от него отрезать кусок с десятью цифрами с правой стороны, как например с номером «321889046060807», оставить только «9046060807».
 
Цитата
Chinno пишет: В очередной раз обращаюсь к спецам по VBA за помощью, т.к. собственных знаний недостаточно.
есть и другие варианты
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=list&FID=7
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, не такой уж и сложный макрос. С другой стороны тенденций к попыткам нет. Вот и думай.
С уважением,
Федор/Все_просто
 
Все_просто, если Вы хотите приходить сюда как на работу и, взяв под козырёк, ежедневно выполнять то, что "нужно" (ц), да ещё и "при нажатии на кнопку" (ц) - это Ваш выбор.
но вообще-то форум - это не авторешалка.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, я, если что, предельно ясно пояснил, про попытки ТС к решению проблемы.
Со своей стороны, макрос не буду выкладывать, хоть он и готов. :)
С уважением,
Федор/Все_просто
 
Все_просто, а это не только Вам лично написано. Точнее - не столько.
Цитата
Все_просто пишет: Со своей стороны, макрос не буду выкладывать
Повторюсь - Ваш выбор.
С другой стороны, http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=63696&TITLE_SEO=63696-generator-regulyarnykh-vyrazheniy
Цитата
Все_просто пишет: Вот и думай.
;)
фрилансер Excel, VBA - контакты в
профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Дико извиняюсь за предыдущий файл. Посмотрите вот этот, тут у меня получилось с 7 и 9-значными номерами, а как вырезать 10 цифр справа, ума не приложу. Помогите пожалуйста доработать код.
 
Вот это может помочь:
Код
Sub delUnneeded()

    Dim rng As Range
    Dim cell As Range
    Dim bln As Boolean

    Set rng = Columns("A").SpecialCells(xlCellTypeConstants) 'поставьте здесь ссылку на ваш диапазон
    For Each cell In rng
        cell.Value = Val(cell.Value)
        If Len(cell) > 10 Then cell = Right(cell, 10)
        bln = ((Len(cell) <> 7) And _
               (Len(cell) <> 10)) Or _
               (cell Like "0*") Or _
               (cell Like "1*") Or _
               (cell Like "8*")
        If bln Then cell = vbNullString
        cell.Select
    Next cell

End Sub
 
С уважением,
Федор/Все_просто
 
Все_просто
Спасибо, помогло
 
началось отсюда: http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=63696&TITLE_SEO=63696-generator-regulyarnykh-vyrazheniy
потом эта тема.
а вот и долгожданное продолжение: http://www.cyberforum.ru/vba/thread1374823.html

Все_просто, комментарии нужны?  :D
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Страницы: 1
Наверх