各种编程语言里都有常量和变量。常量,即固定不变的值;变量,即随时变化的值。 常量的使用,最大的作用是增加可读性和减少人为错误。 而理解和应用变量,是学习任何编程语言入门的第一步。 常量和变量,都可以简单理解为内存地址的命名。 一、声明前缀 Dim, Public, Private, Static, Global
Dim相当于Private 2.Public 表示声明的常量、变量是全局的。全局,顾名思义,就是在其他模块可以直接访问。 本文最后一节,会提供一个基本覆盖本文知识点的样例。 3.Private 表示声明的常量、变量是私有的。私有,顾名思义,就是在其他模块不可以访问。 4.Static 表示声明的变量是静态的。特征是在过程调用之间仍能保持其值的变量的数据类型。 不建议使用,有兴趣的可以看VBA的内置案例。 5.Global 这是一个老版本的声明前缀,为了兼容性,VB6/VBA6/VBA7里也保留了。 仅能用于标准模块(Module),效果等同于Public。 批注:①“Dim”的由来 以上5个跟变量、常量相关的声明中,Public/Private/Static/Global都可以顾名思义,很好记忆。但是Dim是什么意思呢? 原来是这样,在早期版本的BASIC语言中,Dim是为了声明数组的维数(Dimension),后期的BASIC语言中,由于兼容性原因,就沿用了最初的用词。 ② Public/Private/Static可以作为修饰符,声明Sub、Function、Property。这个在后续章节解释。 ③ Dim常用在过程级,Public/Private常用在模块级。 ④ 部分术语释义: VBA = Visual Basic for Application BASIC = Beginner's All-purpose Symbolic Instruction Code 二、数据类型 VBA的数据类型 1.上述取值范围,只需要记住Byte,Integer,String,Date的,然后知道Long的数量级(21亿),其他的数据类型基本不需要关注,确实需要时再查表也可以。 在VBA的代码编写界面,按F1,搜索“数据类型”,可以得到上述信息。 实际上,VBA入门只需要常翻常看Office VBA的自带帮助F1就足够了,不需要购买任何专业书籍。 2.数据类型的内存结构和存储方式,直接决定了他们的取值范围。 例如,Byte占用1个字节=8位(8个二进制位),能够用于存储的字符总数最多为2^8=256。所以,Byte的取值范围是0-255。以后有时间,我们再掰扯其他的数据类型。 自己多用指针配合一些内存查看工具多分析分析,会发现对计算机的理解会慢慢加深。 3.Decimal这个类型,不能用Dim dVar As Decimal得到 只能用Dim var As Variant var = CDec(325)得到该类型 4.部分数据类型还有类型简写。 VBA类型简写助记口诀 三、常量 常量的前缀修饰符是Const(英文是Constant),常量可以是模块级,也可以是过程级的。 常量一旦设定,理论上在程序运行过程中都不能再修改(这也是常量存在的意义),并根据定义常量的作用域来调用。 四、变量 变量就像一个容器,可以放米也可以放水,可以放一升水、十升水,也可以啥都不放。 这里的米或者水,就是我们的变量类型;一升、十升、空,就是我们的变量的值。 五、示例 下面用一段简单的例子代码,来对本文做一个总结。 模块1 模块2 |
|