我正在运行一个保存excel文件的程序,生成一个新的工作簿,然后将其保存并打印出来。代码运行得相当顺利,但出于某种原因,我出现了随机错误。当我说随机时,我的意思是VBA阻止我的程序运行,询问我是否要调试,并且,当我调试时,它突出显示需要纠正的行。
这是正常行为,但该行通常不会继续,直到该行被修复或更改为止。但是,在我的代码中没有更改任何内容并按下"播放"按钮直接,我的代码再次正常工作。
这发生两次:一次在with命令结束时:
With newbook
.Title = newName
.Worksheets("Sheet1").Name = "MAIN SHEET"
.Worksheets("Sheet2").Name = "FORMULA SHEET"
.SaveAs (newName)
End With
然后它出现在行:
ActiveSheet.PrintOut
这两行都可以正常工作而不需要改变任何东西,只需按下播放。
有没有办法让代码中的这些停靠点不显示?
感谢您的帮助!
答案 0 :(得分:1)
我认为在您尝试打印/保存时,工作簿可能尚未完全形成。
尝试在打印/保存之前引入延迟,例如:
.Worksheets(“Sheet2”)。Name =“FORMULA SHEET”
的DoEvents
睡眠500
的DoEvents
.SaveAs(newName)