从Excel 2010升级到2013时的问题

时间:2015-09-14 19:48:42

标签: excel vba excel-vba excel-2010 excel-2013

我在Excel 2010中过去几个月一直在使用仪表板,并且在我们升级到Excel 2013时即将完成。我遇到了一个我完全难以理解的问题......

我使用每张纸的前几行为仪表板构建了一个简单的UI。实质上,每个子菜单都隐藏在不同的行中,并且只有适当的行在任何时候都可见。还允许用户在不使用用户表单的情况下打开/关闭视图中的各种菜单。

在升级到2013之前,它非常敏捷且反应灵敏,每次在UI中进行更改时大约需要0.05秒。但是,迁移到Excel 2013后,UI非常缓慢。起初我认为这是一个屏幕上更新的问题,因为屏幕正在以零碎的方式进行更新 - 标签,隐藏的行,背景颜色等将以块的形式出现,而不是一次性完成。我已经裁定这是一种可能性。

我还尝试禁用2013年出现的所有烦人的新动画。我尝试了我在网上看到的所有不同方法 - 禁用硬件图形加速,在访问中心的便利性中关闭不必要的动画等这似乎也没有效果。

经过一整天的故障排除后,我发现一张只有用户界面的工作表,没有其他任何东西像以前一样运行。只有当工作表上有对象出现问题时才会这样做。据我所知,形状和文本框似乎对性能没有影响。标签,无论是表格控件还是Active X,似乎都是罪魁祸首。

我注意到我为UI提供的一小段代码继续以相同的速度运行,但即使在程序运行后屏幕仍将继续更改。这也让我很困惑。我试过将属性从Move和Size with Cell更改为Free Floating,似乎没有任何区别。我也尝试过更改Print Object,Locked等等。

我完全不知道如何解决这个问题。它绝对是2013年流行的东西,因为完全相同的文件在2010年没有问题。如果有人有任何建议,他们将不胜感激。

更新:以下是突出显示问题的示例文件的链接。在2010年测试时,两者都可以正常工作。

https://www.dropbox.com/s/r2ep5bgyn6ohjph/2013%20Issue.xlsm?dl=0

2 个答案:

答案 0 :(得分:0)

虽然这是一个延伸,但一些研究告诉我Excel 2013已经遇到了ActiveX控件的许多问题。 Microsoft已发布了几个补丁,因此我建议您先安装它们,并确保您的Excel 2013副本完全是最新的。

https://support.microsoft.com/en-us/kb/3025036

https://support.microsoft.com/en-us/kb/2956145

如果这不能解决问题,请告诉我,我会删除此答案。

答案 1 :(得分:0)

全部,谢谢你的帮助。我终于解决了我遇到的问题。我将问题隔离到表单控件或ActiveX控件在运行代码时可见。我不确定为什么,但是存在任何一个都会产生问题。但是,在运行代码之前隐藏所有形状,然后在解决问题后取消隐藏它们。我注意到,但是,只有在执行之前代码没有关闭屏幕更新时,此解决方案才有效。稍后当我有权访问Dropbox时,我会发布更新的文件。