练习小课堂
根据图3-29所示的学生成绩表,用学过的运算符,你能写出其他表达式吗?请任意写出4个填在下面的表格里,然后再继续后面的内容。
参考答案
表达式 | 说明 |
---|---|
Range(“J2”).Value﹥=500 | 判断J2的分数是否达到500 |
Range(“D3”).Value﹥90 | 判断D3的分数是否大于90 |
Range(“C4”).Value﹥Range(“D4”).Value | 判断C4的分数是否大于D4的分数 |
Range(“B5”).Value Like“孟” | 判断B5的学生是否姓孟 |
Range(“B5”).Value Like “军” | 判断B5的学生姓名是否以“军”字结尾 |
3.5.3 连接运算符
连接运算符用来连接两个文本字符串,有+和&两种,如图3-30所示。
图3-30 在立即窗口中使用连接运算符
+可以用作算术运算的加运算,也可以用于文本连接运算。如果+运算符两边的表达式都是文本字符串,则执行连接运算;如果+运算符两边的表达式包含数值,则执行算术运算,如图3-31所示。
图3-31 在立即窗口中使用+运算符
当使用&运算符时,无论运算符左右两边是何种尖型的数据,都执行连接运算。
3.5.4 逻辑运算符
逻辑运算符用于判断逻辑运算式的真假,参与运算的数据为逻辑型数据,返回结果为Boolean型,只能为True或False。辑逻运算符及其作用如表3-9所示。
表3-9 逻辑运算符及作用
运算符 | 作用 | 语法 | 返回结果 |
---|---|---|---|
And | 执行逻辑“与”运算 | 表达式1 And 表达式2 | 表达式1和表达式2的值都为True时返回True,否则返回False |
Or | 执行逻辑“或”运算 | 表达式 1 Or 表达式2 | 表达式1和表达式2中只要有一个表达式的值为True时返回True,否则返回False |
Not | 执行逻辑“非”运算 | Not 表达式 | 表达式的值为Ture时返回False,否则返回True |
Xor | 执行逻辑“异或”运算 | 表达式 1 Xor 表达式2 | 表达式1和表达式2返回的值不相同时,返回True,否则返回False |
Eqv | 执行逻辑“等价”运算 | 表达式 1 Eqv 表达式2 | 表达式1和表达式2返回的值相同时,返回True,否则返回False |
Imp | 执行逻辑“蕴含”运算 | 表达式 1 Imp 表达式2 | 表达式1的值为True,表达式2的值为False时返回False,否则返回True。相当于Not表达式1 Or表达式2 |
图3-29所示的学生成绩表,如果想判断第一条记录中语文、数学两个学科中是否有及格(大于或等于60分)的科目,语句为:
如果语文成绩和数学成绩分别为85分和49分,则这个表达式的计算过程可以用脱等式表示为:
3.5.5 应该先进行什么运算
在VBA中,要先处理算术运算符,接着处理连接运算符,然后处理比较运算符,最后再处理逻辑运算符。可以用括号来改变运算顺序。
运算符按运算的优先级由高到低的次序排列为:括号一指数运算(乘方)一求相反数一乘法和除法一整除(两数相除取商的整数)一求模运算(两数相除取余数)一加法和减法一字符串连接一比较运算一逻辑运算,如表3-10所示。
表3-10 运算符的优先级
优先级 | 运算名称 | 运算符 |
---|---|---|
1 | 括号 | () |
2 | 指数运算 | ^ |
3 | 求相反数 | - |
4 | 乘法和除法 | *,/ |
5 | 整除 | \ |
6 | 求模运算 | Mod |