Форум программистов, компьютерный форум, киберфорум
Запрет ввода символов в Textbox (VBA)
Войти
Регистрация
Восстановить пароль
Иногда возникает задача запрета ввода символов ( кроме чисел) в Textbox
Ниже привожу один из вариантов кодинга на событии KeyPress

Здесь учтено
1) Разрешение ввода цифр от 0 до 9
2) Замена "," или "." на разделитель дробной части
3) Разрешение ввода разделителя дробной части только 1 раз
4) замена теста при введении разделителя первым ( или сразу после знака "-") на нормальный вид...
т.е ввод "," будет заменен на "0," ну и анологично "-," на "-0,"/
5) Разрешение вводить "-" только в начале.....

Ну вот и собственно все....
Приветствуются дельные комментарии и замечания...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
    Case 48 To 57
    Case 44, 46
         If Len(TextBox3.Text) = 0 Then TextBox3.Text = "0"
         If InStr(TextBox3.Text, "-") = 1 And Len(TextBox3.Text) = 1 Then TextBox3.Text = "-0"
         If Chr(KeyAscii) <> Application.DecimalSeparator Then KeyAscii = Asc(Application.DecimalSeparator)
         If InStr(TextBox3.Text, Application.DecimalSeparator) > 0 Then KeyAscii = 0
    Case 45
         If Len(TextBox3.Text) > 0 Then KeyAscii = 0
    Case Else
        KeyAscii = 0
End Select
End Sub
Narimanych не имеет записей для отображения.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.