▋很多新手纠结于是否声明变量,有的人会告诉你,『一定要养成声明变量类型的好习惯』,也有的人会告诉你,『声明不声明其实在很多时候无所谓』 那么到底是否需要声明变量类型呢? 关于是否在VBA程序开头声明变量类型,Excelhome论坛曾经有过很激烈的讨论。看过之后我也深有感触。 ■我比较支持“香川裙子”大神的观点: 1、 初学者不必马上去学习定义变量的各种知识,直接写代码照样可以入门。 疑惑一:是否必须在程序开头加上Option Explicit? 作用:Option Explicit 语句在模块级别中使用,强制显式声明模块中的所有变量。 说白了就是,在模块开头加上这句代码以后,如果在下面的代码过程中没有定义变量会提示出错。 不定义变量类型会提示变量未定义 关于对Option Explicit真正意图的解释
疑惑二:是否需要dim 所有变量? ■先说定义变量的好处: 不同的数据类型,占用大小不同的字节,因此计算时对内存的占用和运算效率有所不同。 ■再说对于初学者的坏处: 由于各种类型占用字节的限制,它所能代表的数值范围受到了限制!如果初学者试图去使用定义变量类型的方法时,往往尚未得到实际好处,即【运算速度提高】的好处(但实际运算量小时速度的差别很小、很小可以完全忽略不计) 却首先受到了因为不能恰如其份地定义好变量类型,而造成了变量溢出或冲突导致代码无法运行的严重后果。 例如下面这个例子:假如我们要获取下图A列已使用的最后一个单元格 如果不太了解integer的范围,在超出变量范围的情况下使用就会提示出错。 提示“溢出”错误 另外说几点 ·动态数组必须定义。 ·下面的语句,完全是多余的,没有任何实际意义。
最后说一下个人的理解: 学习VBA,完全可以先实战后深入,不必花费太多时间再如何声明好变量类型上,能事半功倍。抛开一些没必要的东西先让程序跑起来的确更重要。 |
|