9

我的代码

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

如果我留下一个空字段,Excel 会返回Type Mismatch错误。我想显示一条消息。

4

2 回答 2

15

由于ais a 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
于 2013-02-11T10:10:41.617 回答
5

您已a定义为IntegerInteger不能为空。使用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
于 2013-02-11T10:09:16.747 回答