单击带空输入的确定后,application.inputbox错误

1 excel vba inputbox

我真的搜索了几个小时,但我找不到任何解决方案.

您只应在输入框中输入数字,并且只有在没有任何数字或字符串的情况下点击确定时,msgbox应该为sppears ...

第一部分很简单,但我总是通过点击确定得到错误消息!

Public Sub test()
Dim vntReturn As Variant
vntReturn = Application.InputBox("Bitte Wert eingeben", "Eingabe", , , , , , 1)
If StrPtr(vntReturn) = 0 Then
    MsgBox "Abbrechen gedrückt"
Else
    If vntReturn = False Then
        MsgBox "Nix eingegeben"
    Else
        MsgBox vntReturn
    End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)

小智 5

发生这种情况是因为您将此InputBox的Type声明为数字.所以excel会自动尝试纠正这个问题.您可以使用不带Type的InputBox,并编写自己的验证,以检查它是否为整数.

否则你也可以在代码之前添加:

Application.DisplayAlerts = False
Run Code Online (Sandbox Code Playgroud)

然后将其设置为True.现在,当你点击确定时,不会出现错误提示,但InputBox不会消失.您可以向InputBox添加其他说明,以明确它需要一个数字.