ExcelVBA解读(16):VBA的运算符

还记得小时候学习数学的经历吗?很小很小的时候,我们会接触到数字,大人们会教我们数数,认识简单的数字,慢慢地我们会开始学习简单的加减法,再大一点,会学习乘除法,背诵乘法口诀,随着学习的深入,我们会逐渐学习到更复杂的运算和规则。

运算无处不在。在编写程序代码时,很多内容都是在进行各种各样的运算,因此,运算符非常重要。

当然,最开始我们都是从了解最基本的运算开始,逐渐深入到更多的运算内容。最先应该了解的当然是加、减、乘、除等算术运算符。

算术运算符

常用的VBA算术运算符有:加()、减(-)、乘(*)、除(/)、整除(\)、取模(MOD)、求幂(^)。基本的运算如下图1所示。

说明:

关系运算符

关系运算符用于比较,也称为比较运算符。VBA的关系运算符有:等于(=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、不等于(<>)。基本的比较运算如下图2所示。

在VBA中,关系运算符用于比较运算符两侧的表达式结果,比较的结果为True(真)、False(假)或者Null。因此,关系运算符常用于条件判断中。

Is运算符

在VBA中,经常要在对象变量之间进行判断,例如判断两个对象变量是否引用同一个对象,这时就要用到Is运算符。

如果对象变量1和对象变量2都指向同一个对象,其结果是True,否则是False。

用于判断该对象变量是否有已设置对象引用,如果没有则为False。这是程序中经常会用到的语句。

示例:

结合前面学习的系列知识,我们来看看下面语句的意思。

该语句判断当前单元格是否在单元格区域A1:B2内,如果当前单元格不在该区域内,则为True。Intersect方法属于Application对象,返回一个Range对象,代表该方法指定参数的交叉区域。

逻辑运算符

逻辑运算符用于对表达式进行运算并返回一个逻辑值。VBA支持6个逻辑运算符,即Not(逻辑非)、And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Eqv(逻辑与或)、Imp(逻辑蕴涵)。其中,Not、And、Or在我们通常的程序中经常会用到,应重点了解。

Not

对表达式进行逻辑非运算后,如果表达式的结果为True,那么Not运算使其值变为False;如果表达式的结果为False,那么Not运算使其值变为True。其格式为:

Not表达式

运算结果表如下:

表达式

True

False

And

如果执行逻辑与运算的表达式都为True,则其值为True,只要有一个表达式的结果为False,则其值为False。其格式为:

表达式1And表达式2And表达式3And…表达式n

表达式至少有2个。

表达式1

表达式2

表达式1And表达式2

Or

如果执行逻辑或运算的表达式中至少有一个为True,则其值为True,如果表达式的结果都为False,则其值为False。其格式为:

表达式1Or表达式2Or表达式3Or…表达式n

表达式1Or表达式2

示例

如果当前工作表是“工作表1”,或者是“工作表2”,则为True。

如果当前工作表是“工作表1”,并且当前工作表的单元格A1中的值为“工作清单”,则为True。

如果当前单元格中的字体为常规,则将其设置为加粗;如果当前单元格中的字体已加粗,则将其设置为常规。

补充说明:上述6个逻辑运算符也可作为按位运算符使用,并且我们只介绍了常用的3个,在后面的系列中如果用到其它的3个运算符,我们会再进行详细介绍。

字符串运算符

VBA中的字符串运算符仅一个,即字符串连接运算符,使用&表示,用于将一个或多个独立的字符串连接在一起。例如:

的结果为:

MyFamily

运算符的优先级

如果在同一个表达式中包含有多个运算符,那么就需要了解VBA是如何安排那个运算符先运算,那个运算符后运算,即运算的优先顺序。不了解运算符的优先顺序,随意组合运算符,可能得不到我们想要的结果。

下图3列出了VBA中运算符的优先级。

同一表达式中多次使用同一个算术运算符时,按从左到右的顺序运算。

赋值运算符

VBA使用等号(=)作为赋值运算符,用于将表达式的结果赋给变量。通常,接受结果的变量位于赋值运算符(=)的左侧,表达式位于赋值运算符的右侧。通过赋值运算符将右侧表达式的结果赋值给左侧的变量。赋值运算符可以修改变量的值。

下图4所示为一些简单的赋值示例。

前面我们讲过,可以通过VBA来改变对象属性值,因此,也可以将表达式的结果赋值给对象的属性。下面是一些示例:

该语句在单元格A1中输入数据100。

该语句在单元格A2中输入文本“工作清单”。

该语句将当前单元格的背景色设置为黄色。

注意:不要将赋值运算符与关系运算符中的“=”混淆,要在不同的表达式中区分“=”是赋值运算符还是等于运算符。

THE END
1.Java基础运算符,表达式和语句java条件运算符计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符 算术运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。表https://blog.csdn.net/weixin_73295475/article/details/136458435
2.计算机中的算术运算关系运算逻辑运算分别是什么?关系运算:关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除法、外连接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。逻辑运算:逻辑运算又称布尔运算。布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断https://zhidao.baidu.com/question/1552248081733214387.html
3.李涛听从内心,无问西东!电子科技大学主页平台管理系统2.转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。 3.强制转换后的运算结果不遵循四舍五入原则。 运算符号 C语言中运算符: ※算术运算符 ※赋值运算符 ※关系运算符 ※逻辑运算符 ※三目运算符 算术运算符 c语言基本运算符: 除法运算中注意: https://faculty.uestc.edu.cn/LiTao_LoVe/zh_CN/article/290136/content/2454.htm
4.C语言基础知识笔记1※ 关系运算符 ※ 逻辑运算符 ※ 三目运算符 2、算术运算符 C语言基本算术运算符如下表: 除法运算中注意: 如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2;而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000。 https://www.imooc.com/article/23511
5.数学建模算法(番外3)解决规划问题的神器——Lingo(中)1.基本运算符:算数运算符,逻辑运算符和关系运算符 2.数学函数:三角函数和常规的数学函数。 3.金融函数:Lingo提供的两种金融函数。 4.概率函数:Lingo提供了大量的概率函数。 5.变量界定函数:这类函数用来界定变量的取值范围。 6.集操作函数:对集的操作提供帮助。 https://www.jianshu.com/p/45a6716ff46c
6.C语言入门教程8一、算术运算符 二、赋值运算符 三、自增运算符和自减运算符 四、sizeof 五、逗号运算符 六、关系运算符 七、逻辑运算符 八、三目运算符 九、位运算符 计算机的基本能力就是计算,所以一门程序设计语言的计算能力是非常重要的。C语言之所以无所不能,是因为它不仅有丰富的数据类型,还有强大的计算能力。C语言一https://www.kancloud.cn/digest/clearning/149696
7.运算符和表达式教案.doc4、表达式中运算的优先级 VB表达式中的运算优先级依次为:算术运算、关系运算、逻辑运算。 三、总结(3分钟) 1、本堂课主要讲了四种运算(算术运算、字符串运算、关系运算、逻辑运算) 2、表达式 四、作业 (2分钟) 1、评三好学生,语文、数学、计算机成绩均要85分以上(语文成绩变量用语文来表示,数学成绩变量用数学https://m.book118.com/html/2023/1117/6054220134010010.shtm
8.python关系运算符python关系运算符号包括哪些一、运算符是什么? 运算符是用于数学计算,比较大小和逻辑运算的符号。python中主要有以下几类运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 二、算数运算符 算数运算符主要用于数学运算,部分运算符也可以用于其他数据类型的运算。 https://blog.51cto.com/u_16213725/8561021
9.银符考试题库在线练习7. 计算机中运算器的作用是 。 A.控制数据的输入/输出 B.控制主存与辅存之间的数据交换 C.完成各种算术运算和逻辑运算 D.协调和指挥整个计算机系统的操作 A B C D 8. 能将高级语言源程序转换成目标程序的是 。 A.调试程序 B.解释程序 C.编译程序 D.编辑程序 A B C D 9. 一个磁盘分区上的根目录http://www.cquc.net:8089/YFB12/examTab_getExam.action?su_Id=6&ex_Id=36304