ник: akkorn
Ну и я внесу свою лепту...
Зачем такие сложности, что предлагались в этой ветке)
После каждого ввода, либо по кнопке "Проверить" проверяем введенные символы..
Вот ф-ция, которая позволяет Оставить РАЗРЕШЕННЫЕ символы, либо Запрещающая определенные символы. Определяете нужные, и через эту ф-цию фильтруете значение поля... )))
Function StrFilter(Optional strText As String, Optional Filter1 As String) As String
'================================================================
' Фильтрация содержимого strText
'
' MsgBox StrFilter("369-76 =-97", Chr$(0) & "1234567890") =3697697
' MsgBox StrFilter("369-76 =-97", Chr$(1) & "1234567890") =- ?-
' Первый символ переменной Filter$ - код операции, остальные символы - перечень допустимых/НЕдопустимых символов
' =0 - удаление всех символов из strText, кроме указанных в списке (допустимых)
' =1 - удаление всех символов из strText, указанных в списке (НЕдопустимых)
'===============================================================
On Error GoTo End01
If Len(strText) = 0 Or Len(Filter1) = 0 Then GoTo End01
Dim Temp As String, CodeFilter As Integer, i As Long, Sym As String
Temp = "": CodeFilter = Asc(Filter1)
For i = 1 To Len(strText)
Sym = Mid$(strText, i, 1)
If (Sgn(InStr(2, Filter1, Sym)) Xor CodeFilter) <> 0 Then
Temp = Temp & Sym
End If
Next i
StrFilter = Temp
End01:
End Function