首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA输入框错误

VBA输入框错误
EN

Stack Overflow用户
提问于 2015-08-19 09:47:56
回答 1查看 394关注 0票数 1

我的宏中有一个循环中的输入框。数字1-4对应于程序将执行的特定任务,5将保存并退出程序。

现在,除非用户输入5,否则输入框处于连续循环中。但是,如果用户点击输入框右上角的CancelX按钮,我也希望循环和sub结束。当我点击CancelX时,它会给我一个错误。

总之,是否可以对输入框的CancelX键进行编码,以结束循环并退出sub,而不显示错误消息?例如,如果用户输入6,我将看到以下内容

代码语言:javascript
复制
If ipAnswer = 6 then
    ActiveWorkbook.Save
    Exit Sub
End If

有没有什么可以让我这样做的:

代码语言:javascript
复制
If 'cancel' or 'x' then
    .......
End If
EN

回答 1

Stack Overflow用户

发布于 2015-08-19 10:57:10

在使用InputBox()返回字符串时,您可以检测到所有三种可能的结果。这三个结果是:

  1. 用户输入了一个值,用户单击了[OK],但没有输入值

,用户单击了[Cancel][X]

StrPtr()函数是区分空白字符串和不存在的字符串的关键。下面的代码演示了如何识别每个场景:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32085261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档