我的宏中有一个循环中的输入框。数字1-4对应于程序将执行的特定任务,5将保存并退出程序。
现在,除非用户输入5,否则输入框处于连续循环中。但是,如果用户点击输入框右上角的Cancel或X按钮,我也希望循环和sub结束。当我点击Cancel或X时,它会给我一个错误。
总之,是否可以对输入框的Cancel和X键进行编码,以结束循环并退出sub,而不显示错误消息?例如,如果用户输入6,我将看到以下内容
If ipAnswer = 6 then
ActiveWorkbook.Save
Exit Sub
End If有没有什么可以让我这样做的:
If 'cancel' or 'x' then
.......
End If发布于 2015-08-19 10:57:10
在使用InputBox()返回字符串时,您可以检测到所有三种可能的结果。这三个结果是:
[OK],但没有输入值,用户单击了[Cancel]或[X]
StrPtr()函数是区分空白字符串和不存在的字符串的关键。下面的代码演示了如何识别每个场景:
Dim s As String
s = InputBox("Enter something:")
If StrPtr(s) = 0 Then
Debug.Print "[Cancel] or [X] clicked"
ElseIf Len(s) = 0 Then
Debug.Print "[OK] clicked but nothing entered"
Else
Debug.Print "Something entered: " & s
End Ifhttps://stackoverflow.com/questions/32085261
复制相似问题