Text box ???

5 отговора 0 прегледа
#1

Text box ???

Имам следния проблем. Направил съм една user form-а под VBA и искам да въвеждам информация, сложим съм няколко text box-а . Дотук добре, но като въведа числова стоиност в text box-а и ми дава грешка като се опитам да направя някое аритметично дествие. Не винаги но доста често .

Има ли друг на чин за взимане данни от потребителя през user form ?
Предварително благодаря на отзовалите се

Отговор
в отговор на f(x) #2

Re: Text box ???

Конвертираш съдържанието на Теxt box-a в число. Иначе се опитваш да умножаваш текстови стринг с число.

Отговор
в отговор на Zarev #3

Re: Text box ???

Предполагам че това е проблема, но каква е функцията за превръшане на текстов стринг (string) в число.
В ексела е VALUE(), но пробвах с WorksheetFunction.Value() и не стана :(

Някои знае е ли какво е функцията във VBA ????

Отговор
в отговор на f(x) #4

Re: Text box ???

Функцията е Val(). По- интересното е да не допускаш потребителите да въвеждат нещо различно от число, защото в противен случай ще гърми процедурата.

Отговор
в отговор на Zarev #5

Re: Text box ???

Благодаря много! Tова да не въвеждат нещо различно ще го проверявам преди да мине прez VAL() и ако въведат бой през пръстите с някакво съобщение :-)

Отговор
в отговор на f(x) #6

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


Отговор