全民一起VBA实战篇 专题1 第一回 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

你可能感兴趣的:(全民一起VBA实战篇笔记)