Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part3(Is, Like运算符的用法详解)
来源:互联网 发布:新津知艺术馆 编辑:程序博客网 时间:2024/05/18 04:56
1. Is运算符: 比较两个对象的引用变量是否相同,如:
Dim A As Object
Dim B As Object
Dim C As Object
Dim D As Object
Dim E As Object
Dim Check As Boolean
Set A = C '指定对象引用
Set B = C '指定对象引用
Set E = Worksheets(1) '指定对象引用
Set D = E
Check = A Is B '返回True
Debug.Print "A和B是否引用同一对象:"
Debug.Print "A Is B:" & Check
Check = E Is B '返回False
Debug.Print "A和D是否引用同一对象:"
Debug.Print "A Is D:" & Check
End Sub
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
A和B是否引用同一对象:
A Is B:True
A和D是否引用同一对象:
A Is D:False
2. Like运算符:比较两个字符串是否匹配(有点像正则表达式)(以下内容转自:http://blog.sina.com.cn/s/blog_4636489701014jtt.html)
Like运算符是字符串比较时经常使用的运算符,也是VBA较难掌握的运算符。语法:
结果 = 字符串 Like 模式
如果字符串与模式匹配,结果为True,否则为False。但是如果Like两端的字符串和模式有一个为Null,则结果为Null。
VBA内建的模式匹配功能提供了丰富的字符串比较方式,在模式表达式中可以使用通配符、字符列表(或字符区间)的任何组合来匹配字符串。
模式中的字符
[!字符列表]
其它字符(串)
1.Like在字符串比较时受Option Compare语句的影响,在默认情况下(Option Compare Binary),字符比较根据内部二进制表示法(ASCII码)进行,是区分大小写的,此时 "A" Like "a" 的结果为False。如果声明了Option Compare Text,则不区分大小写比较,"A" Like "a" 的结果为True。
后面的讨论假设默认情况下。
2.如果模式中没有使用通配符(?、*、#)和字符列表,此时Like运算符等价于=(等号)运算符。下面表达式的结果相同。
s Like "AB"
s = "AB"
示例代码如下(自己增加了密码校验和手机号校验示例,挺好玩!):
Sub LikeOperator()
Dim check As Boolean
check = "aBBBa" Like "a*a"
Debug.Print "“aBBBa”和“a*a”是否匹配:" & check
check = "F" Like "[A-Z]"
Debug.Print "“F”和“[A-Z]”是否匹配:" & check
check = "F" Like "[!A-Z]"
Debug.Print "“F”和“![A-Z]”是否匹配:" & check
check = "a2a" Like "a#a"
Debug.Print "“a2a”和“a#a”是否匹配:" & check
check = "aM5b" Like "a[L-P]#[!c-e]"
Debug.Print "“aM5b”和“a[L-P]#[!c-e]”是否匹配:" & check
check = "BAT123khg" Like "B?T*"
Debug.Print "“BAT123khg”和“B?T*”是否匹配:" & check
check = "CAT123khg" Like "B?T*"
Debug.Print "“CAT123khg”和“B?T*”是否匹配:" & check
check = "Hcbahid" Like "H*p*d"
Debug.Print "“Hcbaphid”和“H*p*d”是否匹配:" & check
check = "1391786713" Like "13#########"
Debug.Print "“1391786713”和“13#########”是否匹配:" & check
End Sub
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
“aBBBa”和“a*a”是否匹配:True
“F”和“[A-Z]”是否匹配:True
“F”和“![A-Z]”是否匹配:False
“a2a”和“a#a”是否匹配:True
“aM5b”和“a[L-P]#[!c-e]”是否匹配:True
“BAT123khg”和“B?T*”是否匹配:True
“CAT123khg”和“B?T*”是否匹配:False
“Hcbaphid”和“H*p*d”是否匹配:False
“1391786713”和“13#########”是否匹配:False
好,有点累了,休息!
- Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part3(Is, Like运算符的用法详解)
- Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part2(VBA的数据类型)
- Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part4(VBA控制语句)
- Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part1(VBA关键字)
- Excel VBA高效办公应用-第七章-VBA财务报表分析-Part3 (现金流量表分析)
- Excel VBA高效办公应用-第六章-客户资料管理-Part3 (对筛选结果进行统计)
- Excel VBA高效办公应用-第十一章-教师员工数据管理-Part3 (排座位小程序)
- Excel VBA高效办公应用-第七章-VBA财务报表分析-Part1 (损益表的分析)
- Excel VBA高效办公应用-第八章-商品销售决策与分析-Part3 (商品进货量决策)
- Excel VBA高效办公应用-第九章-VBA文秘办公技巧-Part2(查找同名同姓的员工)
- Excel VBA高效办公应用-第一章-Excel VBA简介
- Excel VBA高效办公应用-第七章-VBA财务报表分析-Part2 (资产负债表分析)
- Excel VBA高效办公应用-第十七章-用户权限管理系统
- Excel VBA高效办公应用-第九章-VBA文秘办公技巧-Part1 (每日行程安排提醒)
- Excel VBA高效办公应用-第三章-使用Excel的内置函数
- Excel VBA高效办公应用-第十六章-VBA高效文件操作(使用级联菜单管理多个工作簿)
- Excel VBA高效办公应用-第十六章-VBA高效文件操作(同时给多个工作簿加解密)
- Excel VBA高效办公应用-第十章-高效处理学员资料-Part1 (成绩排名)
- Android Studio使用杂项
- hdu 3065-AC自动机
- 欢迎使用CSDN-markdown编辑器
- C语言,如何取一组固定范围的随机数-xyphf
- 数学都知道
- Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part3(Is, Like运算符的用法详解)
- Java实现-删除排序数组中的重复数字1
- 基于人脸关键点的姿态定位【OpenCV】【OpenGL】
- 位运算
- Translucent System Bar 半透明状态栏的使用
- 开关UISwitch
- YII2框架学习 高效篇(一) 延迟加载
- Linux用户管理命令相关
- 关于PSD切图