Text box ???
5 отговора
0 прегледа
Text box ???
Имам следния проблем. Направил съм една user form-а под VBA и искам да въвеждам информация, сложим съм няколко text box-а . Дотук добре, но като въведа числова стоиност в text box-а и ми дава грешка като се опитам да направя някое аритметично дествие. Не винаги но доста често .
Има ли друг на чин за взимане данни от потребителя през user form ?
Предварително благодаря на отзовалите се
Има ли друг на чин за взимане данни от потребителя през user form ?
Предварително благодаря на отзовалите се
Re: Text box ???
Конвертираш съдържанието на Теxt box-a в число. Иначе се опитваш да умножаваш текстови стринг с число.
Re: Text box ???
Предполагам че това е проблема, но каква е функцията за превръшане на текстов стринг (string) в число.
В ексела е VALUE(), но пробвах с WorksheetFunction.Value() и не стана :(
Някои знае е ли какво е функцията във VBA ????
В ексела е VALUE(), но пробвах с WorksheetFunction.Value() и не стана :(
Някои знае е ли какво е функцията във VBA ????
Re: Text box ???
Функцията е Val(). По- интересното е да не допускаш потребителите да въвеждат нещо различно от число, защото в противен случай ще гърми процедурата.
Re: Text box ???
Благодаря много! Tова да не въвеждат нещо различно ще го проверявам преди да мине прez VAL() и ако въведат бой през пръстите с някакво съобщение :-)
Re: Text box ???
Пробвай това. Портебителя може да въвежда само числа и "," :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Chr(KeyAscii) Like "[!0-9]" And Chr(KeyAscii) Like "[!,]" Then KeyAscii = 0
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Chr(KeyAscii) Like "[!0-9]" And Chr(KeyAscii) Like "[!,]" Then KeyAscii = 0
End Sub