微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将默认值添加到InputBox方法时,为什么Excel VBA代码会停止执行?

如何解决将默认值添加到InputBox方法时,为什么Excel VBA代码会停止执行?

我有一些(更复杂的)代码在运行过程的其余部分之前要求用户输入。我使用Type:=2 Application.InputBox()方法来做到这一点。在Application.InputBox方法中,我指定了PromptTitleDefaultType

代码今天早上完全停止了执行,而没有中断代码或出现错误-它只是完全停止了。我能够找出原因:Default方法中的Application.InputBox参数导致代码停止。这是我重新创建问题的一些示例代码

Sub Test_InputBox_Default()
    Dim Str As String
    
    Str = Application.InputBox("Please enter a string",Title:="INPUTBox TEST DEFAULT TEXT",Default:="This is just a test",Type:=2)
    Debug.Print Str
    
    Str = Application.InputBox("Please enter a string",Type:=2)
    Debug.Print Str
End Sub

如果运行上面的代码,它将停止,然后才能打印第一个字符串输入。但是,如果您注释掉第一个Application.InputBox(包含Default参数的规范),则代码可以正常工作。

实际上,我在这里不需要一个Default参数,但我想知道为什么以前突然工作正常,为什么突然导致了问题。这是Windows 10更新问题吗?还有其他人有类似的问题吗?

我还应该注意,如果我尝试在Default方法中以正确的顺序包括Application.InputBox参数(不使用Default:=语法),则会出现语法错误。也许这与问题有关。

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。