mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

Проверка ввода числа в текстовое поле на форме 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

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Огромнейшее спасибо за подсказку!!

Здравствуйте, Тимон
Для этого используются модули класса
Здесь есть пример кода: http://www.excel-vba.ru/chto-umeet-excel/rabota-s-modulyami-klassov/

а как этот макрос применить ко всем текстбоксам формы, и добавить проверку наличия введенных данных в текстбокс. для каждого конкретного прописывать довольно проблематично ввиду их большого количества

БОЛЬШОЕ спасибо

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
                      __  __  _____   _     
____ ___ _ _ \ \/ / |___ / | |__
|_ / / _ \ | | | | \ / |_ \ | '_ \
/ / | __/ | |_| | / \ ___) | | |_) |
/___| \___| \__, | /_/\_\ |____/ |_.__/
|___/
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.