大家好,本节将详细介绍VBA中的运算符,它们是VBA中的连接桥梁。
常用的运算符大部分是数学课本中学过的内容,但它们是VBA运算的基础,所以本节将作汇总介绍。
下面会分别说明VBA中的四种运算符,顺带说下通配符,最后介绍运算符的优先级,即不同种类运算符同时出现时的运算顺序。
一、运 算 符 的 分 类
1、算术运算符
算术运算数主要用于算术运算,返回数值类型为数值型。包括常见的加号 、减号(或负号)- 、乘号* 、除号/ ,指数运算^ 。
以及整除 和MOD求模运算。整除即两数相除取商的整数,如52=2。mod求模运算时指两数相除取余数,如5 mod 2 =1,经常用于判断奇偶性。
2、比较运算符
比较运算符主要用于比较运算,如比较两个值的大小,返回值是true或者false。
包括常见的等于=、小于<、大于>、小于等于<=、大于等于>=、不等于<>,以及is和like。
is比较两个对象的引用变量,is的语法写法是对象1 is 对象2,是用来比较两个引用对象是否相同,相同时返回true,否则返回false。
like比较两个字符串是否匹配。like的语法写法时字符串1 like 字符串2,当字符串1和字符串2匹配时,就返回true,否则返回false。
like在应用中常结合通配符使用(excel函数中也涉及类似的的内容)下面说一下通配符的相关内容:
*代替任意多个字符,如“特朗普” like “*朗*” =true
?代替任意一个字符,如“特朗普” like “特??"=true
#代替任意一个数字,如“商品2" like "商品#"=true
[charlist]字符列表,表示代替位于charlist字符列表中的任意一个字符 ,例如”I“ like ”[A-Z]"=true
[!charlist]字符列表,表示代替不在charlist字符列表中的任意一个字符,例如 “I” like “[!H-J]”=false
3、连接运算符
连接运算符是用来连接两个文本字符串的,有 和&两种。
运算符的两边都是文本字符串时,执行连接运算,如“4” ”5“,两边均为字符串,结果是45。如果 运算符两边表达式包含数值,则执行算术运算,如"4" 5,左边为字符串,右边为数值,结果为9。
&运算符无论左右两侧是何种类型的数据,都执行连接运算。但连接的是变量时,注意变量与&之间需要空一格,声明的变量不需要加英文引号“ ”,字符串需要加英文引号“ ”。
如上一节九九乘法表中的案例,最后的单元格显示语句, Cells(i, j) = i & "X" & j & "=" & i * j 。显示的内容需要变量和字符串连接,其中i、j和i*j都是变量或变量的运算,不需要加英文引号“”,而“X”和“=”都是字符串,需要英文引号。
4、逻辑运算符
逻辑运算符,是用于判断逻辑运算式的真假,参与运算的数据为逻辑型数据,返回值是true或者false。
and运算符:两个条件都为true时,返回true,否则返回false。
or运算符:两个条件中的任何一个为true时,返回true,否则返回false。
not运算符:条件为true时,返回false,否则返回true。
xor运算符:两个条件中结果不相同时,返回true,否则返回false。
eqv运算符:两个条件中结果相同时,返回true,否则返回false。
imp运算符:逻辑蕴含,只有当第一个表达式结果为True,第二个表达式结果为False时,返回false,否则返回true。
二、运 算 符 优 先 级
运算符有以上几种分类,如果同时出现在表达式中时,就涉及运算的先后顺序。
运算符按运算的优先级由高到低的依次顺序如下图所示:(相同优先级的运算符,在表达式中出现时,按从左向右顺序运算即可。)
本节主要介绍了运算符的四种分类,通配符、以及运算符的优先级,常用运算符基本都是数学课本中的知识,本节主要是汇总回顾,建议收藏以备查阅,祝大家学习愉快。