VBAinput框错误
我有一个input框在我的macros在循环中。 数字1-4
对应于程序将执行的特定任务,并且5
将保存并退出程序。
现在,除非用户键入5
否则input框处于连续循环状态。 不过,如果用户点击Cancel
或input框右上angular的X
button,我也想循环和子结束。 当我点击Cancel
或X
,它给了我一个错误。
总之,是否可以对input框的“ Cancel
和“ X
键进行编码以结束循环并退出子程序而不出现错误消息? 例如,这是我有,如果用户键入6
:
If ipAnswer = 6 then ActiveWorkbook.Save Exit Sub End If
有什么可以让我做的:
If 'cancel' or 'x' then ....... End If
使用InputBox()
返回string时,可以检测到所有三种可能的结果。 这三个结果是:
- 用户input了一个值
- 用户单击
[OK]
而不input值 - 用户点击
[Cancel]
或[X]
StrPtr()
函数是区分空string和不存在string的关键。 以下代码演示如何识别每个scheme:
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 If