Excel VBA开发最佳实践

时间:2010-01-08 14:39:34

标签: excel vba

我们是ISV,具有开发和分发用VB6编写的桌面应用程序的经验。我们现在正在开发包含VBA代码的Excel电子表格工具。这些将免费下载给包括当地政府组织在内的各种用户。

我们之前很少在我们自己的组织之外分发电子表格。我们应该遵循哪些最佳实践,是否存在我们应该注意的缺陷?

我知道以下内容。

3 个答案:

答案 0 :(得分:2)

想到两件事:

  • 如果由于某种原因,您在单元格中有公式或文本,请尝试重构它,如果它是> 255个字符,因为Excel在复制工作表时没有问题会截断它。它甚至没有通知你,具体取决于它是如何完成的。
  • 如果使用命名范围,请避免使用三个字母命名的范围,或三个字母后跟数字。例如,在Office 2007中,BAD1是一个有效的单元格引用。

答案 1 :(得分:2)

我发现创建一个 Add Ins 更容易分发,而不是开发电子表格。通常我会有一个菜单,其中包含文档选项以及创建功能所需的任何模板。通过更改电子表格,“app like”意味着更多的工作,但它有几个优势;

  1. 与您的外观和感觉更加一致
  2. 您的所有代码,模板等都在一个文件中(即:添加)
  3. 您可以轻松地重复使用代码(可能是最重要的一点)
  4. 有关其外观的示例,请参阅this demonstation

    我总是添加的另一个技巧是一些版本控制和使用记录。每次运行时,每个主要功能都会点击一个Web服务器并记录它的使用情况。这并非适用于所有情况,但在企业环境中,了解谁正在运行Excel迷你应用程序以及频率是非常方便的。

答案 2 :(得分:1)

在为各种非技术用户创建电子表格时,我发现这很有用。这适用于excel 2007及更早版本(不确定在以后的版本中是否仍然存在问题),即使所有内容都受到保护,用户也可能在其他工作表中损坏您的公式。

  1. 使用命名区域,当有人改变主意时,可以轻松调整大小或移动它们。
  2. 使用数组公式,就像人们剪切和粘贴单元格一样,他们会修改任何依赖于这些单元格的公式,如果你使用数组,他们必须剪切整个数组来破坏你的公式
  3. 制作数组,使得顶部和底部的一行以及左侧和右侧的一列受到保护,用户无法更改,这样他们就无法破坏您的公式。
  4. 从未弄清楚如何确保格式保持不受损坏。