随机VBA错误

时间:2016-06-16 18:54:02

标签: excel vba

我正在运行一个保存excel文件的程序,生成一个新的工作簿,然后将其保存并打印出来。代码运行得相当顺利,但出于某种原因,我出现了随机错误。当我说随机时,我的意思是VBA阻止我的程序运行,询问我是否要调试,并且,当我调试时,它突出显示需要纠正的行。

这是正常行为,但该行通常不会继续,直到该行被修复或更改为止。但是,在我的代码中没有更改任何内容并按下"播放"按钮直接,我的代码再次正常工作。

这发生两次:一次在with命令结束时:

With newbook
    .Title = newName
    .Worksheets("Sheet1").Name = "MAIN SHEET"
    .Worksheets("Sheet2").Name = "FORMULA SHEET"
    .SaveAs (newName)
End With

然后它出现在行:

ActiveSheet.PrintOut

这两行都可以正常工作而不需要改变任何东西,只需按下播放。

有没有办法让代码中的这些停靠点不显示?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我认为在您尝试打印/保存时,工作簿可能尚未完全形成。

尝试在打印/保存之前引入延迟,例如:

.Worksheets(“Sheet2”)。Name =“FORMULA SHEET”

的DoEvents

睡眠500

的DoEvents

.SaveAs(newName)