Страницы: 1
RSS
Подскажите что написать в VBA
 
Подскажите какой VBA код можно добавить в TextBox1 для того чтобы в него можно было вводить только точку(.), т.е если в TextBox1 написано число (100,50 - то MsgBox нельзя запятую нужно точку)?
 
Есть такой путь. Перечисляем коды символов (цифровые) и точки, которые разрешены к вводу текстбокс. Остальные просто невозможно будет ввести. И никаких MsgBox не нужно.
 
Я просто не знаю как написать это на VBA, вы бы не могли бы код показать как пишется?  
Спасибо.
 
Я делал так:  
' Разрешенные символы  
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)  
If KeyAscii > 47 And KeyAscii < 58 Or KeyAscii = 44 Or KeyAscii = 45 Or KeyAscii = 8 Then Else KeyAscii = 0  
End Sub  
‘ 44 Это запятая  
‘ 46 точка
 
{quote}{login=Сергей}{date=01.07.2008 01:42}{thema=Подскажите что написать в VBA}{post}Подскажите какой VBA код можно добавить в TextBox1 для того чтобы в него можно было вводить только точку(.), т.е если в TextBox1 написано число (100,50 - то MsgBox нельзя запятую нужно точку)?{/post}{/quote}  
---  
Может, лучше автоматически заменять запятую на точку?  
Тогда так:  
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)  
If Chr(KeyAscii) = "," Then KeyAscii = Asc(".")  
End Sub  
 
Если нужно заблокировать ввод запятой, то:  
... Then KeyAscii = 0  
 
---  
ZVI
 
а как разрешить ввод самих цифр?
 
Ну вот... хотел похвастаться... Куда мне с ZVI тягаться. :-))
 
второй вариант подошел.  
ОГРОМНОЕ СПАСИБО вам.
 
{quote}{login=Юрий М}{date=01.07.2008 02:14}{thema=}{post}Ну вот... хотел похвастаться... Куда мне с ZVI тягаться. :-)){/post}{/quote}  
---  
Юрий, Ваш вариант намного полнее и лучше для ввода только цифровых значений. Только у Вас заблокирована запятая, а не точка: нужно просто заменить 44 на 46.  
---  
ZVI
 
{quote}{login=ZVI}{date=01.07.2008 03:30}{thema=Re: }{post}{quote}{login=Юрий М}{date=01.07.2008 02:14}{thema=}{post}Ну вот... хотел похвастаться... Куда мне с ZVI тягаться. :-)){/post}{/quote}  
---  
Юрий, Ваш вариант намного полнее и лучше для ввода только цифровых значений. Только у Вас заблокирована запятая, а не точка: нужно просто заменить 44 на 46.  
---  
ZVI{/post}{/quote}  
Очепятка, правильно так:    
"Только у Вас заблокирована ТОЧКА, а не ЗАПЯТАЯ: нужно просто заменить 44 на 46".
 
Дык я в конце в коментах написал что есть что :-)
Страницы: 1
Читают тему
Наверх