ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 299|回复: 0

[分享] VBA中的运算符小结

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-7-10 06:11 | 显示全部楼层 |阅读模式
本帖最后由 lss001 于 2024-7-10 12:01 编辑

'VBA中的运算符小结

'1. 算术运算符
'1.1 +加法: x = 1 + 6,
'1.2 -减法: x = 7 – 2
'1.3 *乘法: x = 5 * 8
'1.4 /除法: x = 9 / 4 ,\整除: x = 10 \ 3
'1.5 Mod模运算:x = 10 Mod 3
'1.6 ^幂运算: x = 10 ^ 2, 或: x = 10 ^ (1 / 2) 等
'算术运算符的优先顺序:
'    ——乘幂运算符(^)
'    ——乘法和除法运算符(*、/,两者没有优先顺序)
'    ——整除运算符(/)
'    ——取模运算符(Mod)
'    ——加法和减法运算符(+、-,两者没有优先顺序)
'若在同一代码中多次使用同一个算术运算符,则从左到右运算。
'使用括号可以改变优先顺序。


'2. 比较运算符
'2.1 =等于:If x = z  Then
'2.2 <小于: If x < z Then
'2.3 >大于: If x > z Then
'2.4 <>不等于: If x <> z Then
'2.5 <= 小于等于:If x <= z Then
'2.6 >=大于等于 :If x >= z Then
'比较运算符的优先顺序:
'如果多个比较运算符出现在同一行代码中,
'则按从左到右的顺序计算。


'3. 逻辑运算符
'3.1 Not逻辑非:MyC = Not(A > B)
'    如果表达式为True,则结果为False。
'    如果达式为False,则结果为True。
'    如果表达式为 Null,则结果为Null。
'3.2 And逻辑与:MyC = A > B And B > C
'    如果第一表达式为True,则结果为第二表达式。
'    如果第一表达式为False,则结果为False。
'    如果第一表达式为 Null:
        第二表达式为False,则结果为False。
        第二表达式为True或Null,则结果Null。
'3.3 Or逻辑或:MyC = A > B Or B > C
'    如果第一表达式为True,则结果为False。
'    如果第一表达式为False,则结果为第二表达式。
'    如果第一表达式为 Null:
         第二表达式为True,则结果为True。
         第二表达式为False或Null,则结果为Null。
'3.4 Xor异或:MyC = A > B XOr B > C
'    如果两个表达式相同,则结果为False。
'    如果两个表达式不同,则结果为True。
'    如果任一表达式为 Null,则结果为Null。
'3.5 Eqv与或:MyC = A > B Eqv B > C
'    如果两个表达式相同,则结果为True。
'    如果两个表达式不同,则结果为False。
'    如果任一表达式为 Null,则结果为Null。
'3.6 Imp蕴含:MyC = A > B Imp B > C
'    如果第一表达式为True,则结果为第二表达式。
'    如果第一表达式为False,则结果为True。
'    如果第一表达式为 Null:
        第二表达式为True,则结果为True。
        第二表达式为False或Null,则结果为Null。
'逻辑运算符的优先顺序:
'    ——Not
'    ——And
'    ——Or
'    ——Xor
'    ——Eqv
'    ——Imp
'如果在同一行代码中多次使用相同的逻辑运算符,
'则从左到右进行运算。


'4. 其它运算符
'4.1. Is对象指向:<是否指向同一对象>
'    If Workbooks.Sheets("ABC") Is Workbooks.Sheets("DEF") Then
'4.2 Like模糊匹配:
'    string1= "I love my country"
'    If string1 Like "*love*" Then
'4.3 AddressOf运算:AddressOf 过程名
'    AddressOf运算符将过程的地址传递给API函数?
'    过程名为需要传递给API函数地址的过程名称?
'    AddressOf运算符后面必须是用户定义的函数名、过程名或属性名,且该过程或函数必须保存在代码模块中!
'4.4 =赋值运算:x = 123
'    在VBA中使用等号(=)作为赋值运算符,
'    它将其右侧的数据或者表达式的结果赋给左侧的变量
'4.5 .点运算:Set  = Worksheets("Sheet1").Range("A1")
'    在VBA中,使用点运算符来引用某个对象。
'    运用点运算符,可以限定所引用的对象的位置。
'4.6 +与&连接运算:
'a.当两个表达式都是数值
'     x = 5 & 1 '结果:x = "51"
'     y = 5 + 1 '结果:y = 6
'b.当两个表达式都是字符串
'     x = "5" & "1" '结果:x = "51"
'     y = "5" + "1" '结果:y = "51"
'c.当一个表达式为字符串,另一个表达式为数值
'     x = "5" & 1 '结果:x = "51"
'     y = "5" + 1 '结果:类型不匹配
'总结:&连接三种情况下结果都是字符串
'            +连接三种情况下三种结果
'提示:您可以在VBE中调试,看看它们在各种情况下的区别。
'其它运算符的优先顺序:
'如果多个其它运算符出现在同一行代码中,
'则按从左到右的顺序计算。

'多类运算优先顺序为:
'    ——算术运算符
'    ——连接运算符
'    ——比较运算符
'    ——逻辑运算符
'    ——其它运算符

评分

2

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 00:24 , Processed in 0.036458 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表