Маска ввода в excel телефон


Опубликовано: 02.10.2017, 20:48/ Просмотров: 1540

Ввод номера телефона по маске

30.07.2014, 11:02 [ Файл-пример (24.1Kb) ]

маска вот такая: 8(###) ###-##-##

Option Explicit Public WithEvents tbGroup As MSForms.TextBox 'используем коллекцию в качестве класса Dim bu As Boolean, s$ 'mask 8(###) ###-##-## Private Sub tbGroup_Change() If bu = True Then bu = False: Exit Sub 'MsgBox tbGroup.Name s = tbGroup.Text Select Case Len(s) Case 0, 1 s = "8(" Case 3, 4, 5 If Not IsNumeric(Right(s, 1)) Then s = Left(s, Len(s) - 1) Else Exit Sub Case 6 If Not IsNumeric(Right(s, 1)) Then s = Left(s, Len(s) - 1) Else s = Left(s, Len(s) - 1) & ") " & Right(s, 1) End If Case 8, 9, 10, 12, 13, 15, 16 If Not IsNumeric(Right(s, 1)) Then s = Left(s, Len(s) - 1) Else Exit Sub Case 11, 14 If Not IsNumeric(Right(s, 1)) Then s = Left(s, Len(s) - 1) Else s = Left(s, Len(s) - 1) & "-" & Right(s, 1) End If Case Is > 16: s = Left(s, Len(s) - 1) End Select bu = True: tbGroup.Value = s End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
Добавил: nilem | Просмотров: 4590 | Рейтинг: excel 5.0/1 Всего комментариев: 4

Порядок вывода комментариев: По умолчанию Сначала новые Сначала старые

+2  Спам

1    esvolk   (04.09.2014 14:56)

   Не совсем ясно зачем такие сложности, просто вносим номер из 10 цифр (можно запретить пробелы и другие знаки и ограничить 10-ю цифрами), потом применяем допформат +7(###)###-##-## и всё.


0  Спам

2    VictorM   (16.08.2015 16:59)

   Никаких сложностей, все отлично работает.
НО, вот только вопрос - при удалении введенного номера backspace остаются (не удаляются) первые 2 символа 8(.
При удалении "выделить+del" та же картина.
Можно ли это как-то устранить?
+1  Спам

3    nilem   (16.08.2015 22:19)

   попробуйте разбить Case 0, 1 на два случая:
Case 0: Exit Sub
Case 1
s = "8("


0  Спам

4    VictorM   (16.08.2015 22:27)

   nilem все сработало!
Спасибо.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]


Источник: http://www.excelworld.ru/board/vba/tricks/vvod_nomera_telefona_po_maske/9-1-0-47


Закрыть ... [X]

Ввод номера телефона по маске - Полезные приёмы - VBA - Готовые решения Химическая завивка прямой способ и не прямой

Маска ввода в excel телефон Маска ввода в excel телефон Маска ввода в excel телефон Маска ввода в excel телефон Маска ввода в excel телефон Маска ввода в excel телефон