Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Чистим телефоны / 22 сообщений из 22, страница 1 из 1
12.03.2010, 11:37
    #36516159
Maikl 5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Доброго времени суток.
Подскажите, пожалуйста, как можно реализовать чистку телефонов.

Необходимо привести к стандартному формату:
Код города Телефон Стандартный телефон
495 123456 СЕСТРА ЖЕНЫ Иванова И.И. +77495123456 Тел не корректный тк, длина менее 7
495 926 12 24 567 ПО ПРОПИСКЕ 899 11 11111 ПО ФАКТУ +79261234567
495 111111 РОДСТВЕННИК +74951234567
8313 8(8313) 11-11-11 (стар. нач. на -33-) +78313111111
8312 8-8312-11-11-11(СТАР.11-11-11) +78312111111
495 1234567(доб.222) +74951234567
495 925-12-34 (9999) +74959251234
495 8-926-1-11-11-11 +79261111111
495 49,512,345,671,111 +74951234567

Буду рад советам, а особенно примерам.
Спасибо.
...
Рейтинг: 0 / 0
12.03.2010, 12:10
    #36516279
Dophin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Maikl 5,

пример с листами "есть вот" и "хочу так"
...
Рейтинг: 0 / 0
12.03.2010, 16:33
    #36517205
Maikl 5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
К сожалению, прикрепить данные нет возможности (заблочили передачу файлов).
Поэтому отделик "колонки" вот таким знаком "|"
Код города |Телефон |Стандартный телефон
495 |123456 СЕСТРА ЖЕНЫ Иванова И.И.|+77495123456 Тел не корректный тк, длина менее 7
495 |926 12 24 567 ПО ПРОПИСКЕ 899 11 11111 ПО ФАКТУ |+79261234567
495 |111111 РОДСТВЕННИК |+74951234567
8313 |8(8313) 11-11-11 (стар. нач. на -33-) |+78313111111
8312 |8-8312-11-11-11(СТАР.11-11-11) |+78312111111
495 |1234567(доб.222) |+74951234567
495 |925-12-34 (9999) |+74959251234
495 |8-926-1-11-11-11 |+79261111111
495 |49,512,345,671,111 |+74951234567
...
Рейтинг: 0 / 0
12.03.2010, 16:34
    #36517212
Maikl 5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Код города - это то что есть
Телефон- это то что есть
Стандартный телефон- это то что надо
...
Рейтинг: 0 / 0
12.03.2010, 16:55
    #36517286
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Maikl 5, вам помогут команды найти и заменить (ctrl+h) и функция =СЦЕПИТЬ (либо её аналог - "&")

пр:
=A1&B1&C1 - собирает значения из столбиков A, B и С в один
...
Рейтинг: 0 / 0
12.03.2010, 19:18
    #36517568
Dophin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
PlanB,

тут не сцеплять - тут разцеплять надо


я покрутил - слишком безобразны данные, слишком много всяких абракадабрских условий, все их описывать в макросе реально лень. извините
...
Рейтинг: 0 / 0
12.03.2010, 20:36
    #36517650
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Dophin
тут не сцеплять - тут разцеплять надо
Да не, сцеплять.
авторКод города - это то что есть
Телефон- это то что есть
Стандартный телефон- это то что надо
...
Рейтинг: 0 / 0
12.03.2010, 20:51
    #36517666
Dophin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Serge 007,

ну сцепите

495
и
926 12 24 567 ПО ПРОПИСКЕ 899 11 11111 ПО ФАКТУ

и получите на выходе

+79261234567

я Вам поапплодирую
...
Рейтинг: 0 / 0
12.03.2010, 21:06
    #36517681
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
DophinSerge 007,

ну сцепите

495
и
926 12 24 567 ПО ПРОПИСКЕ 899 11 11111 ПО ФАКТУ

и получите на выходе

+79261234567

я Вам поапплодируюА мне нафига? Это пусть автор подробно объясняет как он то что надо из того что есть получить хочет :-)
...
Рейтинг: 0 / 0
12.03.2010, 21:30
    #36517714
Dophin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Serge 007,

да он вроде объяснил. я по крайней мере понял )
...
Рейтинг: 0 / 0
12.03.2010, 23:20
    #36517823
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Ну такой полуфабрикат почти работает (есть шероховатости):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub tt()
For Each cc In UsedRange.Columns( 2 ).Cells
cc.Value = Replace(cc.Value, " ", "")
cc.Value = Replace(cc.Value, "-", "")
cc.Value = Replace(cc.Value, "(", "")
cc.Value = Replace(cc.Value, ")", "")
cc.Value = Replace(cc.Value, ",", "")
cc.Next.Value = "+7" & cc.Previous.Value & cc.Value
cc.Next.Value = Left(cc.Next.Value,  12 )
If IsNumeric(Mid(cc.Next.Value,  2 ,  11 )) Then
cc.Next.Value = cc.Next.Value
Else
cc.Next.Value = cc.Next.Value & " Тел не корректный тк, длина менее 7"
End If
Next
End Sub
Но вот как корректно обработать строки
8313 |8(8313) 11-11-11 (стар. нач. на -33-) |+78313111111
8312 |8-8312-11-11-11(СТАР.11-11-11) |+78312111111
мне лень алгоритм придумывать, в данном случае можно в код добавить типа
Код: plaintext
1.
If Mid(cc.Value,  2 , Len(cc.Previous.Value)) = cc.Previous.Value Then MsgBox "Alarma!"
но это только в данном случае...
...
Рейтинг: 0 / 0
13.03.2010, 09:05
    #36517994
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
да ручками это надо делать.. разок просто заморочиться
...
Рейтинг: 0 / 0
15.03.2010, 09:30
    #36520065
Maikl 5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Ручками не вариант, тк каких записей более 100 тыс.
...
Рейтинг: 0 / 0
15.03.2010, 16:08
    #36521291
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Maikl 5Ручками не вариант, тк каких записей более 100 тыс.нет, интересный вы человек. значит нажат раз 20-30 ctrl+h и заменить "(" на "" - не вариант. а в макрос засовывать ВСЁ то же самое - интересно. включите макрорекордер при этих операциях и получите макрос в итоге. даже редактор vba не надо открывать..
...
Рейтинг: 0 / 0
15.03.2010, 16:20
    #36521338
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Если работа одноразовая, то руками. Если постоянная, думайте над макросом.
...
Рейтинг: 0 / 0
16.03.2010, 20:38
    #36524842
Dophin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
макрос не сложный, но достаточно муторный. Если постоянно нужен - подумайте над вариантом "написать макрос за денежку"
...
Рейтинг: 0 / 0
18.03.2010, 12:07
    #36527951
Maikl 5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Подскажите, как найти
1.числовое
2.текстовое значение в строке и определить его место?
Пример:
Дано: 861-262-19-70(РЕГ)861-228-04-59(ФАКТ)
Получилось:
1. Числовое значение 1 место в записи
2. Тесктовое значение 15 место в записи.

Спасибо.
...
Рейтинг: 0 / 0
18.03.2010, 12:12
    #36527971
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Maikl 5
Пример:
Дано: 861-262-19-70(РЕГ)861-228-04-59(ФАКТ)
Получилось:
1. Числовое значение 1 место в записи
2. Тесктовое значение 15 место в записи.
Интересно, а по-вашему на 4-м и 14-м местах какие значения стоят? :)
...
Рейтинг: 0 / 0
18.03.2010, 12:18
    #36527999
Maikl 5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
ok, убираем лишнее, получаем: 8612621970РЕГ8612280459ФАКТ
Получилось:
1. Числовое значение 1 место в записи
2. Тесктовое значение 11 место в записи.
...
Рейтинг: 0 / 0
18.03.2010, 12:22
    #36528015
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
например:
/topic/677591
...
Рейтинг: 0 / 0
18.03.2010, 12:28
    #36528032
Maikl 5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
Спасибо,qwrqwr, буду пробывать.
...
Рейтинг: 0 / 0
20.03.2010, 17:55
    #36532566
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чистим телефоны
А там че регулярок нет? =)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Чистим телефоны / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]