Ограничения ввода суммы в textbox'е

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
RomaS
Сообщения: 57
Зарегистрирован: 05 мар 2008, 09:59

Добрый день!
Следующий вопрос:
Имеется лист екселя, открывается юзерформ, на ней несколько текстбоксов, куда пользователь вводит суммы(руб.коп.). Нужно запретить туда вводить буквы, это я решил так:

Код: Выделить всё

 Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        If InStr("0123456789,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub 


Также нужно что-то делать с разделителем - могут ведь ввести и точку и запятую и дефис. Может можно делать как-нибудь автозамену при вводе? Также еще нужно проконтролировать чтобы не поставили второй разделитель, например: 125,23,23
На лист данные вводятся вот такими строками:

Код: Выделить всё

 Sheets("Данные").Cells(Str, sto) = VBA.Format(UserForm1.TextBox4, "#0.#0") 

т.е. с округлением справился вроде как, а что с остальными ограничениями? Или как-нибудь можно короче это сделать?
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте RomaS.
Готовое решение
http://forum.developing.ru/showthread.php?t=13188
Евгений.
RomaS
Сообщения: 57
Зарегистрирован: 05 мар 2008, 09:59

О, отлично! То, что надо, работает! Спасибо большое!
Ответить