全民一起VBA实战篇 专题1 第一回 FIND方法实现快速查找 通配符号提供灵活选择

本文介绍了如何使用VBA的Range.Find方法进行快速查找,结合通配符实现灵活的选择。通过三个示例,从基础到优化,展示了查找单元格中特定内容(如'熊猫')的过程,包括二维数组的应用和FIND方法的使用,以提高查找效率。

 

相关知识点:

Range.Find 方法,在该Range类对象代表的单元格区域中,搜索含有指定内容的单元格。Find只返回第一个找到的结果,例找374这个数字:Range(“B2,G14”).Find(374),返回Range(”C4”

Range.Find(What,After,LookIn,Lookat,SearchOrder,SeachDirection,MatchCase,MatchByte,SeachFormat)

           9个参数:What 必填,后面8个参数,定义为可选参数(提高18回)。

What:含义,需要查找的内容;特点,为变体类型,可以接受数字、字符串、日期等各种VBA数据类型,支持通配符(正则表达式,?*-),从而实现模糊查找。(25),(”熊猫”),(#3/18/2019#

例1 找出“熊猫”单元格(基础方法)

Sub findnum()

       Dim i&,j&,d as date

       d=time()

       For i=1 To 100000

              For j=1 To 50

                     If cells(i,j)=”熊猫” Then

                            cells(i,j).interior.color=vbred

                            cells(i,j).select

                            Goto found

                     End If

              next j

       next i

Found:

       msgbox”共计用时” & datediff(“s”,d,time()) & “秒”  ‘返回13秒

End Sub

例2 找熊猫优化例1,用二维数组(提高篇14回)

Sub findnum1()

       Dim i&,j&,d as date,,arr()

       d=time()

arr()=range((1,1),(100000,50))

       For i=1 To 100000

              For j=1 To 50

                     If arr(i,j)=”熊猫” Then

                            cells(i,j).interior.color=vbred

                            cells(i,j).select

                            Goto Found

                     End If

              next j

       next i

Found:

       msgbox”共计用时” & datediff(“s”,d,time()) & “秒”  ‘返回2秒

End Sub

例3 找熊猫优化例2,用Fiund()函数,代码简单,如果没有熊猫,就会出错(Nothing

Sub findnum()

       Dim d as date, r as range

       d=Time()

       set r=range(cells(1,1),cells(100000,50)).Find(“熊猫”)

       If Not r Is Nothing Then   ‘如果r不是Nothing,即r is Nothing False,则Not r is Nothing

True,进入分枝

r.interior.color=vbred

              r.select

              msgbox”共计用时” & Datediff(“s”,d,time()) & “秒” ‘返回2秒

       Else

              msgbox”没找到

       End If

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值