我几年前开发的基于 Excel 的长期运行的高端应用程序在 Excel 2007 和 2010 中运行良好,在 Excel 2013 和 2016 中看起来就像业余时间,因为Application.ScreenUpdating = False
不再可靠地工作。
当 VBA 代码将预先格式化的工作表从宏工作簿复制到新工作簿中时,屏幕显然会解冻,尽管其他情况也必须触发它。
我见过关于这个主题的线程建议“摆弄代码”或“在子例程中调用代码”。不幸的是,我必须维护数百个 Excel 应用程序,每个应用程序都有数千行代码和数百个即将迁移到 Office 2016 的用户,因此重写不是一个选择。如何才能恢复Excel昔日的优雅呢?
我想发表评论,但我不被允许这样做。如果没有代码示例,很难理解您的问题(请参阅https://stackoverflow.com/help/how-to-ask并适当编辑您的问题。
以下是一些想法:
- 检查您的代码是否调用不同过程中的代码,也许 Application.ScreenUpdating 在过程外部打开。
- 在程序开始时尝试此操作:
Application.Calculation = xlCalculationManual
然后,在代码末尾将其设置为:
Application.Calculation = xlCalculationAutomatic
这可能会有所帮助;但是,如果没有代码示例,就很难为您提供适当的帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)