我在我的笔记本电脑上开发了一些Excel VBA工具,它运行起来相当流畅。当我现在尝试在另一台机器上运行它时,我意识到一切都很好,但是关闭userforms时卸载我的任务需要“很长时间”(大约4-5秒的窗口旋转轮),即使没有进行任何计算,例如通过单击“取消”。然而,CPU监视器在这些时间段显示了一个高峰值。我使用的代码几乎是非同寻常的,它就像这样简单
Private Sub Cancel_Click()
Unload Me
End Sub
我现在使用这个工具的计算机没有更慢的CPU,即使它可能更强大,所以这可能不是原因。RAM也是如此。我试过Application.ScreenUpdating = False
,但也没有用。然而,我自己的一台运行Office 2019,而这一台只运行2013。不确定微软是否在这两者之间实现了(方式)更快的例程?或者你有没有其他关于我如何加速这个过程的想法?提前感谢!
PS:如果我在"End Sub“处添加一个断点,然后按F5/F8,算法是瞬间的,就像它应该是(?!)一样。
发布于 2020-11-12 21:35:09
好了我找到问题所在了。这不是卸载本身,它是我的代码的一部分,它是在关闭用户表单后绕道执行的。当我编写工具代码时,它仍然运行得更快,但现在我知道从哪里开始优化了。感谢大家的帮助!
https://stackoverflow.com/questions/64783668
复制相似问题