В Userform есть Текстовый бокс , в который нужно и можно вносить только числовые значения. Если же вводится , что другое (пробел или буквы), то должно выскакивать сообщение с требование м ввести число и подставляться значение по -умолчанию.
Попытался решить задачу через процедуру TextBox1_Change() (см вложенный файл), но она работает очень неудобно.
Как только я стираю число по-умолчанию (в данном случае 10), чтобы ввести другео число ,сразу срабатывает MsgBox "Введите число" и я не успеваю ввести число. Чтобы ввести число, приходится не полностью удалять значение по-умолчанию, а корректировать его добавлением цифр.
Коллеги, подскажите пожалуйста, как сделать так, чтобы при удалении числа по-умолчанию из TextBox1 можно было бы ввести новое число , а не корректировать это значение по-умолчанию?
[vba]
Код
Private Sub TextBox1_Change() If IsNumeric(TextBox1.Value) Then Else MsgBox "Введите число" TextBox1.Value = 10 End If End Sub
Private Sub UserForm_Initialize() TextBox1.Value = 10 End Sub
[/vba]
Добрый день, всем!
В Userform есть Текстовый бокс , в который нужно и можно вносить только числовые значения. Если же вводится , что другое (пробел или буквы), то должно выскакивать сообщение с требование м ввести число и подставляться значение по -умолчанию.
Попытался решить задачу через процедуру TextBox1_Change() (см вложенный файл), но она работает очень неудобно.
Как только я стираю число по-умолчанию (в данном случае 10), чтобы ввести другео число ,сразу срабатывает MsgBox "Введите число" и я не успеваю ввести число. Чтобы ввести число, приходится не полностью удалять значение по-умолчанию, а корректировать его добавлением цифр.
Коллеги, подскажите пожалуйста, как сделать так, чтобы при удалении числа по-умолчанию из TextBox1 можно было бы ввести новое число , а не корректировать это значение по-умолчанию?
[vba]
Код
Private Sub TextBox1_Change() If IsNumeric(TextBox1.Value) Then Else MsgBox "Введите число" TextBox1.Value = 10 End If End Sub
Private Sub UserForm_Initialize() TextBox1.Value = 10 End Sub
Это не подходит, пробовал. Так как, тогда можно просто оставить пустую строку в ТекстБоксе и нажать кнопку далее и процедура это схавает. А мне надо , чтобы в ТекстБоксе после всех манипуляций и исправлений пользователем, всегда оставалось число, а не пустая строка или буквы.
Это не подходит, пробовал. Так как, тогда можно просто оставить пустую строку в ТекстБоксе и нажать кнопку далее и процедура это схавает. А мне надо , чтобы в ТекстБоксе после всех манипуляций и исправлений пользователем, всегда оставалось число, а не пустая строка или буквы.t330