Inputbox Для Integer

k85

Well-known member
11.10.2011
158
0
#1
Необходимо указать, что если в Inputbox нажали Отмена, то происходил выход
Следующий код подходит, если numb As String, но мне необходимо именно Integer
Код:
Dim numb As Integer
numb = Inputbox$("Введите колличество", "количество")
If numb="" Then Exit Sub
результат Type mismatch

Как сделать проверку для Integer?
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
из хэлпа
Dim num As Integer
num% = CInt(InputBox$("How many do you want?"))
 

k85

Well-known member
11.10.2011
158
0
#3
Morpheus
так пробовал, но если нажать Отмена, то пишет Type mismatch
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
можно так
Dim st As String
st= (Inputbox$("How many do you want?"))
If Isnumeric(st) Then Msgbox Cint(st)
 

VladSh

начинающий
Lotus team
11.12.2009
1 260
5
#5
После проверки на пустоту можно делать Isnumeric, как сказали выше, а можно Val() - эта штука перегонит строку в число, вернее выбросит строковые символы, оставив числовые, а потом уже можно делать CInt().
P.S. Вообще я Val'ом очень часто пользуюсь, особенно полезно, когда тебе надо значение 0 или 1, а у тебя в поле "", - оно возвращает 0.