VBA Excel,输入框不匹配为整数
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/14809830/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
VBA Excel, mismatch for inputbox as integer
提问by Oskar Strasburger
My code
我的代码
Dim a As Integer
a = InputBox("Enter the number", "Program", "", 7000, 6000)
If a = Empty Then
' do code...
Else
MsgBox "Enter the number."
End If
If I leave an empty field , Excel returns a Type Mismatch
error. I would like to display a message.
如果我留下一个空字段,Excel 会返回一个Type Mismatch
错误。我想显示一条消息。
回答by Olle Sj?gren
Since a
is an Integer
, it cannot contain a String
or be Empty
. Use a Variant
and then check to see what has been returned:
由于a
是 an Integer
,它不能包含 aString
或 be Empty
。使用 aVariant
然后检查返回的内容:
Dim a As Variant
Dim b As Integer
a = InputBox("Enter the number", "Program", "", 7000, 6000)
If Not IsNumeric(a) Then
'a is not a number
Else
'a is a number and can be converted to Integer
b = CInt(a)
End If
回答by Andrey Gordeev
You have a
defined as Integer
. Integer
cannot be empty. Use Variant
instead of Integer
:
您已a
定义为Integer
。Integer
不能为空。使用Variant
代替Integer
:
Dim a As Variant
a = InputBox("Enter the number", "Program", "", 7000, 6000)
If a = Empty Then
' do code...
Else
MsgBox "Enter the number."
End If