打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
第十四节 冥冥之中找到“她”,你可以吗

上节课我们学会了自动查询,解决了懒癌患者的问题,但是懒癌后期的患者肯定会说,每次输入书名都要输全名,能不能输一个字或者几个字就可以实现查询呢?当然可以,首先我们来看下代码及演示效果。

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range('g1').Address Then

    For Each Rng In Range('a2:a12')

        If Rng Like '*'& Range('g1') & '*' Then

        Range('g2') =Range('b' & Rng.Row)

        Exit For

        End If

    Next

End If

End Sub


今天的语句较昨天就改变了一句代码便实现了这种模糊查找的功能。是哪一句呢,大家找下。

If Rng Like '*' & Range('g1') & '*'Then

对,是它是它就是它!

这句代码的意思是只要rng长得(like)像g1单元格里的内容('*' & Range('g1') & '*')就可以运行if语句下面的代码了。这里'*'在VBA的世界里代表的是任意字符、任意内容,所以当我们在g1单元格输入“枪”的时候,就表示任意字符与“枪”字组合。

这句代码不能写成If '*' & Range('g1') & '*'Like Rng Then,'*' & Range('g1')& '*'表示任意字符与枪组合,这是一个大的范围,比如: “1、2、3、4、5”这个范围像“3”其中一个吗,还是“3”像“1、2、3、4、5”其中一个。所以这里的顺序不能颠倒,另外'*'的引号不能省略,而且一定要注意用英文''号, Range('g1')前后的&也不要忘记了。

好了,这节课就讲到这,大家赶紧动手练习下吧。在练习的过程中你会发现这种方法存在一个问题,找一下!


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
第八讲 利用FindPrevious进行重复搜索及利用LIKE查找
巧用VBA代码,快速查看每个老师的监考场次
1秒搞定!4W个工作表汇总,人人都用的上
将该行指定区域为0的选中
EXCEL宏代码大全
Excel259个常用宏
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服