十条常识性建议,使编写Excel VBA更快更简单。这些技巧基于Excel 2010(但几乎在所有版本中都适用),许多都是受Matthew MacDonald的O'Reilly著作《Excel 2010-缺失手册》的启发。
1-始终在一次性测试电子表格中测试宏,通常是设计用于工作的电子表格的副本。“撤消”不适用于宏,因此,如果您编写的宏折叠、旋转并破坏了电子表格,除非您遵循此技巧,否则您的运气会很差。
2-使用快捷键可能很危险,因为如果您选择了Excel已在使用的快捷键,Excel不会发出警告。如果发生这种情况,Excel将使用宏的快捷键,而不是内置的快捷键。想想当你的老板加载你的宏,然后在电子表格的一半单元格中按Ctrl-C键添加一个随机数时,他会有多惊讶。
马修·麦克唐纳(Matthew MacDonald)在《Excel 2010——缺失的手册》中提出了这一建议
以下是一些常见的组合键,您永远不应该将它们指定给宏快捷键,因为人们使用它们的频率太高:
为避免出现问题,请始终使用Ctrl+Shift+字母宏组合键,因为这些组合比Ctrl+字母快捷键更不常见。如果您有疑问,请不要在创建未经测试的新宏时指定快捷键。
3-记不起Alt-F8(默认宏快捷键)?这些名字对你来说毫无意义吗?由于Excel将使任何打开的工作簿中的宏可用于当前打开的所有其他工作簿,因此简单的方法是在单独的工作簿中使用所有宏构建自己的宏库。打开该工作簿和其他电子表格。正如Matthew所说,“假设您正在编辑一个名为SalesReport.xlsx的工作簿,然后打开另一个名为MyMacroCollection.xlsm的工作簿,其中包含一些有用的宏。您可以将MyMacroCollection.xlsm中包含的宏顺利地与SalesReport.xlsx一起使用。”Matthew说,这种设计使得跨工作簿(以及不同的人之间)共享和重用宏变得很容易。
4 -考虑添加按钮链接到包含宏库的工作表中的宏。您可以将按钮安排在对您有意义的任何功能分组中,并向工作表中添加文本以解释它们的作用。您永远不会再怀疑一个命名神秘的宏究竟做了什么。
5-Microsoft新的宏安全体系结构已经改进了很多,但是告诉Excel信任计算机(或其他计算机)上某些文件夹中的文件更方便。选择硬盘上的特定文件夹作为受信任的位置。如果打开存储在此位置的工作簿,它将自动受信任。
6-编写宏代码时,不要尝试将单元格选择构建到宏中。相反,假设宏将使用的单元格已预选。您可以轻松地将鼠标拖动到单元格上以选择它们。编写一个足够灵活的宏来做同样的事情,可能会充满bug,并且很难编程。如果要编写任何程序,请尝试了解如何编写验证代码,以检查是否在宏中进行了适当的选择。
7-您可能认为Excel对包含宏代码的工作簿运行宏,但这并不总是正确的。Excel在活动工作簿中运行宏。这是您最近查看的工作簿。正如Matthew所解释的,“如果您打开了两个工作簿,并且使用Windows任务栏切换到第二个工作簿,然后返回到Visual Basic编辑器,Excel将在第二个工作簿上运行宏。”
8-Matthew建议,“为了简化宏编码,请尝试排列窗口,以便同时看到Excel窗口和Visual Basic编辑器窗口。”但Excel不会这样做,(视图菜单上的“全部排列”仅排列工作簿。Excel将Visual Basic视为不同的应用程序窗口。)但Windows会。在Vista中,关闭除要排列的两个外的所有任务栏,然后右键单击任务栏;选择“并排显示窗口”。在Windows 7中,使用“捕捉”功能。(有关说明,请联机搜索“Windows 7功能快照”。)
9-Matthew的最重要提示:“许多程序员发现在海滩上长时间散步或大口喝一壶山露水是一种有助于清醒头脑的方式。”
当然,所有VBA技巧之母:
10-当你想不出程序代码中需要的语句或关键字时,首先要做的是打开宏记录器,并执行一系列看起来类似的操作。然后检查生成的代码。它不会总是给你指出正确的事情,但它经常会这样做。至少,它会给你一个开始寻找的地方。
麦克唐纳,马修。《Excel 2010:缺失的手册》,第1版,O'Reilly Media,2010年7月4日。
...用VBA宏,并且您希望允许任何人编辑文档本身,但是为您编写的代码添加一些额外的保护。下面是如何做到这一点。 ...
...创建专业的图表,到建立项目管理跟踪程序,但当涉及到编写报告时,Word是一个更好的工具。 ...
...行一个耗时的任务,这很方便。当您构建包含所有最常用宏的自定义工具栏时,它更为方便。 ...
...于绑定状态,并且迫切需要访问受密码保护的VBA宏时,此技巧非常方便。不过,它还应该说明Excel中存在的一个主要安全缺陷。 ...
...各种项目和问题。该网站提供了一个专门讨论编程、VBA和宏的论坛,是查找其他用户创建的新宏的好地方。 ...
...名称。 指定快捷键。 选择宏的存储位置。 输入描述。 单击“确定”。 执行宏操作。 在“开发人员”选项卡上,单击“停止录制”。 ...
...Word或Excel中录制宏,或使用Visual Basic for Applicati***(VBA)编写自定义宏。 ...