为什么/何时应该在VBA宏中定义变量?

时间:2017-04-23 11:25:57

标签: vba

我从来没有真正在我的VBA宏中定义我的变量,而且一切都很顺利。我可能已经有几次添加它们,但不确定最终是否真的需要它们。

所以我的问题是,为什么需要它?什么时候(因为我没有总是需要,因为我没有做好)?

由于

畚箕

2 个答案:

答案 0 :(得分:2)

明确声明变量通常是个好主意。一些原因是:

  • 显示变量的声明(vs重新分配现有变量的值)
  • 可以指定变量数据类型;这可能很重要:

    • 因为变量可以被赋予比编译器推断的更通用/抽象类型(例如,将变量声明为父类接口

    • 在运行时强制执行某些转换或舍入行为(例如,声明整数以存储自2017-01-01以来的整天天数)

在VBA中,可以使用另一个Option Explicit语句。当Option Explicit为 ON 时,除非所有变量都是明确声明的,否则代码将无法编译。这可以防止变量名称中的拼写错误导致意外行为(即,通过错误输入现有变量的名称,不可能意外地创建变量)。

答案 1 :(得分:1)

我定义变量的原因是

  • 性能原因,强制VBA使用Long或Integer而不是Variant
  • 可读性原因,如果其他人需要阅读并理解您的代码
  • 语言限制,有时你必须定义你的数组,否则你的程序将无法运行
  • 结合显式选项,轻松调试原因,排除代码中的一些拼写错误

我不定义变量的原因是

  • 减少代码(字符数少)到代码