之前的内容中,我们了解了如何设置VBA的开发环境,接下来,我们开始VBA基础知识的学习。在一些教程中,出现了具体的 VBA 代码,你可能不是很明白。没关系,我们就要具体学习 VBA 语法部分,带你进入真实的 VBA 世界!
什么是 VBA 变量
VBA 变量是一个存储数据的 VBA 代码结构。变量存储的数据,可在程序运行过程中改变。又能代表它存储的数据,在程序中参与各类计算。
变量是一个简单的用来引用一条数据的名称。你每次想要记住一个VBA指令的结果时,考虑用一个名称来代表它。变量有两个重要的概念,变量名和变量类型。
变量名:代表变量的名称
变量类型:变量存储的数据的类型,例如数字、文本、逻辑值等。
变量的名称不可以以数字开始,也不可以含有空格。如果你想在变量名称里包含多于一个词语,可以使用下划线。虽然变量名称最多可以包含254个字母,但是,你最好使用短而简单的变量名称。使用短名称将会节省你的输入时间,如果你需要在你的VB过程里多次引用该变量的话。VB不管你在变量名称里使用大写字母还是小写字母,然而,大多数编程者使用小写字母,并且当变量名称包括一个或多个词语时,他们使用标题字母,那就是,象下面这样,他们将每个词语词头大写:
NumOfCells,First_Name。(中文也可以做为变量名称使用,但是,不建议使用中文)
技巧:不能用作变量名称的词语
除了这些VBA占用了的词语之外,你可以使用任何你想用的标签作为变量名称。在VBA中有特定意义的VB语句以及其它某些词语不能用作变量名称。例如,词语Name,Len,Empty,Local, Currency或者Exit,如果你使用它们作为变量名,将会产生错误。
技巧:富有意义的变量名称
给变量那种可以帮助你记住它们作用的名称。有些程序员使用前缀来识别变量类型。在你的代码中,一个以前缀“str”开头的变量名称(例如strName),很快就可以知道它是传递文本字符串的变量。
声明变量
如果想在代码中使用变量,需要先声明,即给出变量名和变量类型。
声明变量使用以下语法:
Dim和As是 VBA 中声明变量需要使用的关键词。Dim表示声明语句的开始,As表示在它之后指定数据类型。Dim代表“Dimension”,再后面就是数据类型。
[变量名]和[数据]是,声明代码中可变部分,需要用户输入。
[变量名] 就是该变量的名称
[数据类型] 是该变量的数据类型
声明变量实例
我们看一个实际的例子,现在声明两个变量,一个是员工姓名、一个是员工年龄。
可以看到,name和age是变量的名称,String是文本类型数据,代表员工姓名;Integer是整数数据类型,代表员工年龄。
技巧: 隐式声明变量
没有用Dim语句来明确声明的变量叫做隐式声明。这些变量自动会被分配一个数据类型Variant。它们可以保存数字,字符串和其它信息类型。你可以通过在你VBA程序的任何地方,简单地赋值给一个变量名称来创建一个变量。
命名变量
上述部分我们学到了声明变量的基本语句,其中变量名是需要用户自己输入。VBA 中规定,变量命名需要符合以下条件,否则程序出错。
首字母必须以字母开头。
不能包含空格、.(英文句号)、!(感叹号)、@、&、$、# 等字符。
长度不能超过 255 个字符。
不能使用 VBA 中保存的关键词作为变量名。
以上是变量名必须符合的规则。符合规则的前提下,虽然可以随便命名,但在实际开发过程,建议按驼峰法命名。
驼峰法是一种很多编程语言通用的命名规则,优点是可读性高、易于理解。
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母。
例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
变量类型
变量的第二个重要元素是变量类型,即变量存储数据的数据类型。正确指定数据类型,可以使程序编写和运行效率更高,并且易于理解。
另外,指定数据类型后,如果赋值不同类型的数据,VBA 会提示错误,这样可以避免使用错误的数据。
VBA 中的数据类型主要分为三大类,一个是数字类型,一个是非数字类型,一个是通用类型。
数字类型
数字类型的变量顾名思义,均是以数字变量。不同类型其数据范围有区别。
非数字类型
非数字变量通常不能直接参与算术运算。
通用类型
通用数据类型,指的是可存储任何类型的数据。在程序运行过程,VBA 可以自动识别数据类型,参与计算。
Variant 类型虽然灵活,但是它会占用更多内存空间,执行效率也会受影响。因此建议,在明确知道数据是何种类型时,指定数据类型;如果数据类型是可变的或不明确,使用 Variant 类型。
给变量赋值
关于变量的基础知识学完了,接下来就是如何给变量赋值。
给变量赋值很简单,使用以下语法:
赋值语法核心就是 =(等号),变量在左侧,数据在右侧。可以理解为变量等于赋值的数据。
一个值得注意的点是,[数据]的形式。
数据可以是直接书写的内容,例如 2、”学校”、True等。
也可以是另外一个变量
给变量赋值完成后,在后续的程序中,就可以使用变量参与各类计算。
我们看一下具体的例子。
Dim name As String
name = "张三"
Range("A1") = name
以上代码,先声明了 name变量,数据类型为文本。然后给它赋值了张三文本。最后将name变量的数据,写入到工作表 A1 单元格。
类型还有简写简写形式
类型及记忆方法:
!——单精度浮点数 1个感叹号,所以是单精度。
#——双精度浮点数 二横二竖,所以是双精度。
$——字符串型 外形像极了S,所以是String,文字型么
&——长整型 外形像L的花体字,所以是Long,长整型么。
@——货币型 这个好说,一般也这么用的。 @=Price么。
%——整型 百分比符号,百来个整数,当然非integer整数型莫属了
使用方法:
下面是定义变量类型时用法例子:
第一行:标准代码
第二行:简略代码
以上内容来源于网络。