我有机会使用VBA进行编码。我所做的大部分VBA脚本都是在前台使用Excel,并且在代码运行时无法访问excel文件。
现在我很想知道是否有任何方法可以在后台保持excel并以与在前台完成相同的方式进行单元格更新。
更新1: - 通过背景我的意思是该文件不是在桌面上保持打开,而是由程序访问。
答案 0 :(得分:0)
您在寻找application.ScreenUpdating=False
吗?这会在它运行时隐藏所有宏操作。或者您是否尝试在宏运行时使Excel仍然运行?在这种情况下,首先打开两个Excel实例,然后在一个上运行宏,然后在另一个上运行(但两个都不能在同一个文件上工作)。
答案 1 :(得分:0)
很难准确理解你的背景和前景是什么意思,但如果你的宏运行时间太长(比如minuits),请尝试在下面的文章中添加以下内容:
https://blogs.office.com/2009/03/12/excel-vba-performance-coding-best-practices/
基本上在代码的开头添加:
With Application.Excel
.ScreenUpdating = False
.DisplayStatusBar = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
最后:
With Application.Excel
.ScreenUpdating = True
.DisplayStatusBar = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
您也可以使用
ActiveSheet.DisplayPageBreaks =开头为False,末尾为True 就个人而言,我发现最大的性能升级通常伴随着停用计算。