excel vba 如何让弹出的终止,调试,帮助对话框自动关闭

1,我的宏
我用录制宏记录了一个从网络获取数据的样本,然后将其改写为可以每天每小时运行的宏。
初学者,对循环理解较差,于是就用笨办法,建立了很多个private sub,用ontime来设定每个小时宏的运行。宏代码中用于获取数据的部分其实是一样的。

2,我的问题
在实际使用中,由于网络,或者数据更新的网站的各种原因,有是遇到无响应较长时间的时候,宏会弹出 “继续,终止,调试,帮助”的对话框,而且继续是没有激活的,不能点击。此时,整个宏代码就中断了,后面时次的代码也不运行了。人在电脑前的时候还能及时发现,点击终止,放弃这一时次的运行,下一个时次的可以继续。但是时间长没人管理的时候,一旦出错不及时点击终止,就无法继续获取后面的数据。

一般出现这种问题的时候,如果点击调试,在“.Refresh BackgroundQuery:=False”这一行会标记为黄色。但是我的数据获取后是不需要刷新了,新的数据会在下面的空行输入。

如何才能做到当“继续,终止,调试,帮助”对话框出现的时候自动选择终止?有这个办法吗?
我曾经试过人不在的时候,用按键精灵设定在弹出位置不停的点击鼠标,但这个对话框不一定每次都弹出来,有时只是excel在任务栏闪烁而已。
我尝试了application.displayalerts=false,放在sub下第一行,但是没起作用。应该放在哪里,或者需要将“application”改为我的sub名称吗

可以在sub下加一行语句
On Error Resume Next

例如这段语句
sub test()
if cells(1,1)="" then cells(1,1) =1/0
cells(2,1)=2

end sub
这个除数为0 肯定要报错的
如果改成
Sub test()
On Error Resume Next
If Cells(1, 1) = "" Then Cells(1, 1) = 1 / 0
Cells(2, 1) = 2
End Sub
就不会报错,遇错则继续向下执行了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-17

哈哈同属初学,而且是很菜的初学^_^

你在每个程序的开头加上这句看看

On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息

这个的作用是忽略错误,继续往下执行代码,不过忽略错误继续执行代码的话可能会出现一些意想不到的结果。

本回答被网友采纳
第2个回答  2014-06-17
代码加个
on error resume next 试试

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网