MyTetra Share
Делитесь знаниями!
Проверка ввода числа в текстовое поле на форме VBA
Время создания: 16.03.2019 23:43
Текстовые метки: Textbox, проверка,check, Проверка ввода
Раздел: !Закладки - VBA - Форма
Запись: xintrea/mytetra_db_adgaver_new/master/base/1514730054z52hwg0fu5/text.html на raw.githubusercontent.com

Проверка ввода числа в текстовое поле на форме VBA

Данный код позволяет выполнять проверку корректности ввода числового значения в текстовое поле (textbox) на форме,
автоматически блокируя ввод запрещенных символов

 

Используется событие KeyPress элемента управления TextBox

Допустимые символы: цифры от 0 до 9, точка (запятая автоматически заменяется на точку), знак «минус» (перед числом)

Предполагается, что текстовое поле имеет имя TextBox_Multiplier

Private Sub TextBox_Multiplier_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    On Error Resume Next
    Select Case KeyAscii
        Case 48 To 57, 8        ' цифры 0 - 9 и <Backspace> (эти символы всегда разрешены)
        Case 44, 46        ' обработка десятичного разделителя (44 - код запятой, 46 - код точки)
            KeyAscii = 46        ' если в поле  введена запятая, то заменим ее на точку
            If InStr(1, Me.TextBox_Multiplier.Text, ".") Then KeyAscii = 0        ' вторую точку нельзя
        Case 45        ' дефис (минус перед числом)
            If InStr(1, Me.TextBox_Multiplier.Text, "-") Then KeyAscii = 0        ' второй минус нельзя
            If Me.TextBox_Multiplier.SelStart Then KeyAscii = 0        ' минус допустим только перед числом
        Case Else
            KeyAscii = 0        ' остальные символы запрещены
    End Select
End Sub
  • 14386 просмотров
Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования