Excel新版本中的VBA

3
这是一个针对我父亲的问题。他已经使用Excel中的VBA超过20年,从Excel 5到现在使用的Excel 2002。
由于他长期使用Excel中的VBA,广泛利用了记录宏的功能,因此他一直在继续投资于Excel,因为在每个版本中都非常稳定(就其VBA功能而言)。现在,他正在考虑升级到较新版本的Excel,然而我读到有关Microsoft在Excel 2007中完全搞砸了他们的VBA解释器的评论,因为以前在Excel 2003或更早版本中工作的脚本将变得非常缓慢或完全无法工作。然后看看Excel 2010,我读到很多关于Excel 2007的问题“没有解决”。由于我不确定这些评论的可信度,因此我向所有目前在Excel中大量使用VBA的人提出以下问题:
那些在Excel 2002或更早版本中花费了大量时间和精力进行VBA开发的人,是否应该升级到Excel 2003、2007或2010?
3个回答

6

Excel 2007 VBA存在多个性能问题,其中许多问题已在Excel 2007 SP1中得到解决。同时,Charts和Shapes存在多个宏录制器问题。

我个人的建议是使用Excel 2010:VBA性能和宏录制器问题已得到解决,并且我发现Excel 2010的整体稳定性优于大多数最近的版本(但因人而异)。

从Excel 2002迁移到2007或2010将涉及学习使用功能区:有些人喜欢它,有些人讨厌它,但对于长期使用Excel的用户来说,肯定需要付出努力。请注意,VBA IDE没有改变。


2
如果你的父亲经历了从Excel 97迁移到2007或2010,那么这次转换就会感觉轻而易举。除了新的图形用户界面,变化都是更好的类型。我没有遇到过任何兼容性问题,包括从97到2003的大跳跃。
要更新,我建议使用约翰·格林等人的《Excel 2007 VBA程序员参考》。

0

我在Excel 2003中开发的大多数VBA / Excel程序在2007年及以后的版本中都可以正常工作,无需修改(似乎我记得大部分问题与图表有关)。当然,他记录的宏或手写的VBA中至少有一些可能无法在Excel 2007及以后的版本中工作。但是,通过一些调试,旧代码很可能可以在不太费力的情况下转换(搜索出错的行,您可能会发现如何重写该行)。

还有一些免费的插件,例如UBitMenu和其他插件,可以恢复旧样式菜单。

我在今年早些时候为Excel VBA编写了一个基准测试,其中包含6个不同的性能测试。到目前为止,373人提交的结果清楚地表明,Excel 2007是所有版本中最慢的。在Excel 2003、2007、2003、2002之间,Excel 2010在大多数测试中表现最佳,其次是Excel 2003。在2010年和2003年之间,综合结果相当接近,但单独的基准测试显示,Excel 2003在显示图表数据方面要快得多,而2010在复杂的基于VBA的计算方面更快。基准测试的完整结果位于http://exceltrader.net/et2/benchMark.php

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接