随机VBA错误

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

这是正常的行为,但是直到该行被修复或更改之后,该行通常不会继续。 然而,不改变我的代码中的任何东西,并立即按下“播放”button,我的代码再次正常工作。

这会发生两次:一次在with命令的末尾:

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

然后它发生在这一行:

ActiveSheet.PrintOut

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

有没有办法让代码中的这些停止不出现?

谢谢你的帮助!

我想这可能是工作簿在您尝试打印/保存时未完全形成的。

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

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

的DoEvents

睡500

的DoEvents

.SaveAs(newName)