新版Excel中的VBA

时间:2010-09-29 23:34:16

标签: excel vba excel-vba

这是我父亲的问题。从Excel 5到现在使用Excel 2002,他已经在Excel中使用VBA超过20年。

由于他已经在Excel中使用VBA这么长时间,广泛使用记录宏的能力,他继续投资Excel,因为它已经相当稳定(就其VBA而言)每个版本的功能)。现在,他正在考虑升级到更新版本的Excel,但是我已经阅读了微软在Excel 2007中完全破坏了他们的VBA解释器的评论,因为以前在Excel 2003或更早版本中工作的脚本会变得非常缓慢或完全停止运行。然后看看Excel 2010,我已经读过Excel 2007的许多问题“尚未修复”。由于我不确定这些评论的可信度,我已经阅读了这个问题,我正在提出这个问题。对于那些目前正在Excel中大量使用VBA的人来说:

对于从Excel 2002或更早版本投入大量时间和工作的人来升级到Excel 2003,2007或2010,是否明智?

3 个答案:

答案 0 :(得分:5)

Excel 2007 VBA存在多个性能问题。其中许多已在Excel 2007 SP1中修复。图表和形状也有许多宏记录器问题。

我的个人推荐是Excel 2010:VBA性能和宏录制器问题已经修复,我发现Excel 2010的整体稳定性优于最新版本(但是YMMV)。

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

答案 1 :(得分:2)

如果您的父亲在迁移到Excel 97后幸存下来,那么切换到2007年或2010年将会感觉像是一个蛋糕。除了新的GUI之外,更改的类型更好。我没有遇到任何兼容性问题,包括从97年到2003年的大跳跃。

为了了解最新信息,我建议John Green等人的Excel 2007 VBA程序员参考。

答案 2 :(得分: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在显示数据上的速度要快得多。通过复杂的基于VBA的计算,2010年更快。基准测试的完整结果位于http://exceltrader.net/et2/benchMark.php