运算符是代表某种运算功能的符号。表达式是指用运算符把常量、变量、函数等按一定的规则连接在一起的式子。VBA中的运算符有四种:算术运算符、比较运算符、连接运算符和逻辑运算符。相应的,我们也有四种类型的表达式。
算术运算符是用来进行数值运算的符号,如“+”、“*”等。而把常量、变量等操作数用算术运算符连接在一起的式子就叫算术表达式。运算符有优先级顺序,如表2-3所示,设变量x=3。如果我们需要改变运算次序,可以使用圆括号。
表2-3 VBA的算术运算符
比较运算符又叫关系运算符,它是用来比较大小的运算符,包括>、<、>=等;比较运算的结果是布尔值True或者False;比较运算符的优先级相同,按顺序从左向右运算即可。比较表达式是用比较运算符将两个或多个值或者表达式连接在一起的式子。常见的比较运算符如表2-4所示。
表2-4 VBA的比较运算符
比较运算符还有IS和LIKE。这是两个特殊的比较运算符,其中IS运算符用于比较两个对象变量的引用变量是否一致,它的格式是:
对象1 IS 对象2
若对象变量“对象1”和“对象2”引用相同对象,返回结果为true,否则返回false。
LIKE运算符用来把一个字符串表达式和一个给定模式进行匹配,匹配成功返回true,否则返回false。这个给定的模式是SQL表达式中的样式,LIKE运算符也主要用于数据库查询过程。它的格式是:
字符串变量 LIKE 模式
表2-5中列出了LIKE运算符中的常见模式设置。
表2-5 LIKE运算符的模式设置表
[字符序列]中可以用一个或多个字符组成的集合与字符串变量中的任一字符进行匹配。
连接运算符是将两个表达式连接在一起的运算符,VBA中连接运算符有两个:“+”和“&”。其中,“&”是将两个操作数强制转换成字符串后进行连接,无论两边是什么数据类型都做连接运算。而“+”只有在两个操作数都是字符类型的时候才可以做连接运算,其他情形都是做加法,如不能相加则报错。例如:
123+'ab'报错
'12'+'34'='1234'
'12'+34=46报错
逻辑运算符是用来连接两个逻辑量或者表达式进行逻辑运算的,逻辑表达式的运算结果是逻辑值。常见的逻辑运算符及其优先级如表2-6所示。
表2-6 VBA的逻辑运算符
如果一个表达式中出现了多种不同类型的运算符时,这样的表达式叫混合表达式,在混合表达式中,我们按以下顺序进行运算:
算术运算符>连接运算符>比较运算符>逻辑运算符
如果需要改变运算顺序,可以使用圆括号。