有时候,我们需要执行区分大小写的查找,如下图1所示。
图1
我们要查找单词“Excel”,如果使用下面的程序代码:
Sub MatchCaseFind()
Dim rngSearch As Range
Set rngSearch = Range("A1:C3")
Dim rngFound As Range
Set rngFound =rngSearch.Find("EXCEL", lookat:=xlPart)
If rngFound Is Nothing Then
Debug.Print "没有找到!"
Else
Debug.Print rngFound
Debug.Print rngFound.Address
End If
End Sub
其结果如下图2所示。
图2
本来应该返回单元格A3中的值及其地址,但返回的是单元格B1中的值和地址。由于是执行区分大小写的查找,因此必须添加另外一个参数:MatchCase,该参数迫使VBA执行匹配大小写的查找。
因此,使用下面的代码:
Sub MatchCaseFind1()
Dim rngSearch As Range
Set rngSearch = Range("A1:C3")
Dim rngFound As Range
Set rngFound =rngSearch.Find("EXCEL", lookat:=xlPart, MatchCase:=True)
If rngFound Is Nothing Then
Debug.Print "没有找到!"
Else
Debug.Print rngFound
Debug.Print rngFound.Address
End If
End Sub
返回正确的结果,如下图3所示。
图3
小结
Find方法是一个很重要的常用方法,熟知其参数的用途,灵活使用该方法,获得正确的查找结果。