Добрый день! Помогите,пожалуйста, написать макрос или формулами авто нормализатор номера мобильного телефона
Например у нас есть номер 93170639502 - это шифрованный номер телефона, и если его расшифровать по приложенной таблице то мы получим - 89255908687.
Надо сделать так же в экселе, макросом или формулами, допустим я вставляю телефон в определенную ячейку, а по кнопке или автоматически он выдает правильный.
Сам к сожалению не осилил, искал по форуму по ключему слову "замена чисел" но разобраться не смог. для меня сложно
у нас есть входящее число 93170639502 - которое надо расшифровать в соответствии с таблицей. Результат этого расшифрования этого числа является этот моб.телефон - 89255908687
Для этого подробнее поясню как пользоваться таблицей соответствий
Входящее число разбиваемые на порядковые
1 2 3 4 5 6 7 8 9 10 11 9 3 1 7 0 6 3 9 5 0 2
из таблицы видим что первое число 9 (порядковый номер 1) - соответствует числу 8 второе число 3 (порядковый номер 2) - соответствует число 9 (константа (нет в таблице)) третье число 1 (порядковый номер 3) - соответствует числу 2 (это цифра в скобке, в столбце 3 таблицы) и так далее
Baristan написал: первое число 9 (порядковый номер 1) - соответствует числу 8
понятно что первый порядковый номер, но почему числу 8 ? а не другому или так же константа как и 2 номер по порядку? навскидку - выделяете нужный диапазон зашифрованных телефонов и запускаем макрос (нажимаем кнопку).
Код
Sub mrshkei()
Dim i As Long, rng As Range, col As Range, rr As Range, x As String
Set rng = Selection
For Each cell In rng
For i = 1 To Len(cell)
If Len(cell) = 11 Then
If i = 1 Then
x = 8
ElseIf i = 2 Then
x = x & "9"
Else
Set col = Worksheets("Соответствия").Rows(1).Find(i, LookAt:=xlWhole)
Set rr = Worksheets("Соответствия").Columns(col.Column).Find(Mid(cell, i, 1), LookAt:=xlWhole)
x = x & rr.Offset(0, 1)
End If
End If
Next i
cell.Offset(0, 2) = x
x = ""
Next cell
End Sub
спасибо! работает! оказалось какая проблема у меня с кодировкой, вместо "соответствия" какие то каракули, переименовал в английски всё работает ) большое спасибо!