分享

VBA中各式各样的运算符

 L罗乐 2018-04-30

最近工作比较忙,加上又出差,因此这两周未更新,感谢各位的耐心等待

今天总结了一下VBA的运算符,内容比较多,大家慢慢看。


VBA4种类型的运算符,分别为算术运算符、比较运算符、逻辑运算符、连接运算符

1)算术运算符

    假设变量A=10,变量B=2

运算符

说明

示例

两个操作数相加

A B=15

-

两个操作数相减

A-B=8

*

两个操作数相乘

A*B=20

/

两个操作数相除

A/B=5

%

模运算符,整数除法后的余数

A%B=0

^

指数运算符

A^B=100

\

整除运算符,取两个整数相除后的商,不管余数

10\2=5;9\2=4

Mod

取模运算符,取得两个整数相除后结果的余数

9 Mod 2=1

 

2)比较运算符

    假设变量A=10,变量B=2

运算符

说明

示例

=

检查两个操作数的值是否相等。如果是,那么条件是真

也用于赋值,用于将表达式的结果赋值给变量,通过赋值运算讲右侧表达式的结果赋值给左侧的变量,也可以修改变量的值

A=B False

X=5 5赋值给变量X

<> 

检查两个操作数的值是否不相等。如果值不相等,则条件为真

A<>B True

检查左操作数的值是否大于右操作数的值。如果是,那么条件是真

A>B True

检查左操作数的值是否小于右操作数的值。如果是,那么条件是真

A<B False

>=

检查左操作数的值是否大于或等于右操作数的值。如果是,那么条件是真

A>=B True

<=

检查左操作数的值是否小于或等于右操作数的值。如果是,那么条件是真。

A<=B False

Is

确定两个对象引用是否引用同一个对象

还可以用IS运算符来判断一个对象变量是否符合要求,例如条件判断语句if myrange is Nothing Then 表示如果对象变量myrange没有对象印象,则为True,执行Then后面的语句


 

3)逻辑运算符

   

运算符

说明

示例

And

如果两个条件都为真,则表达式为真。

True And True=True

True And False=False

False And True=False

False And False=False

Or

如果两个条件中的任何一个为真,则条件为真。

True Or True=True

True Or False=True

False Or True=False

False Or False=False

Not

用于反转其操作数的逻辑状态。如果条件成立,那么逻辑非运算符结果是条件不成立。

Not(False)=True

Not(True)=False

Xor

异或,NOTOR运算符的组合。

如果表达式中只有一个表达式的值为True,则结果为True

True Xor True = False

True Xor False = True

False Xor True = True

False Xor False = False

Eqv

逻辑等价,表示两者相同是为真,不同是为假

True Eqv True = True

True Eqv False = False

False Eqv True = False

False Eqv False = True

Imp

逻辑蕴含

只有当第一个表达式为True,第二个表达式为False时,结果才为False,其他情况下结果均为True

True Imp True = True

True Imp False = False

False Imp True = True

False Imp False = True

 

4)连接运算符


运算符

说明

连接两个值,如果是数值,则进行求和计算,如果是字符串类型,则进行连接操作

&

连接两个值,主要是字符串

  • 当两个表达式都是数值数据时,用&运算符会将两个数值数据连接,如5& 1连接后为51,但用 运算符后,会将两数值相加得到其结果,如5 1进行连接后为6

  • 当两个表达式都是字符串(Sting)时,将对两个字符串进行连接为一个字符串。

  • 当两个表达式为空时, 运算符的结果为0,而&运算符的结果为Null值。

  • 当一个表达式为数值类型数据,另一个表达式为字符串类型数据时, 运算符将产生类型不匹配的错误,而&运算符则将两个表达式连接。

  • 未声明变量时,当一个表达式为数字,另一个表达式为字母时, 运算符和&运算符的结果均为数字,如j=7,k=student,i=j ki=j&k的结果均为7

  • 当两个表达式都为空时, 运算符结果为0,而&运算符结果为Null值。

 

 

5)运算符的优先级

四类运算符由高到低的顺序依次为:算术运算符、连接运算符、关系运算符、逻辑运算符。

算术运算符由高到低的顺序依次为:^(幂)、*(乘)或 /(除)、\(整除)、Mod(取模)、 (加)或-(减)。

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

同一表达式中多个关系运算符,按从左到右的顺序运算。

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

如果想改变运算符的优先顺序,可以在表达式中使用()[]



----------------------------------------

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多