分享

VBA小技巧12:查找正确的格式

 hercules028 2021-07-27

excelperfect

如果我们需要查找特定格式的单元格,例如字体为加粗或者有特定背景色的单元格,该怎么操作?

此时,就要用上Find方法的参数SearchFormat了。这是一个布尔参数,它告诉Find方法搜索特定格式。但是,如何设置格式呢?

使用FindFormat对象。

FindFormat是Application对象的一个特殊属性,可以在其中设置特定格式的详细信息以用于Range.Find方法中进行搜索。所需要做的就是设置FindFormat属性,就像设置任何给定Range对象的属性一样。

例如,如果我们想将文本设置为粗体,使用:

Application.FindFormat.Font.Bold = True

如下图1所示,其中包含一些背景色为黄色的单元格,其RGB代码为:R=255,G=255,B=0。要查找这个特定的格式,使用:

Application.FindFormat.Interior.Color = RGB(255,255, 0)

图片

图1

代码如下:

Sub FindFormat()

    Dim rngSearch As Range

    Set rngSearch= Range('A1:D10')

   Application.FindFormat.Interior.Color = RGB(255, 255, 0)

    Dim rngFound As Range

    Set rngFound = rngSearch.Find('完美Excel',Lookat:=xlPart, MatchCase:=False, searchformat:=True)

    If rngFound Is Nothing Then

        Debug.Print'没有找到!'

    Else

       Debug.Print rngFound

       Debug.Print rngFound.Address

    End If

End Sub

结果如下图2所示。

图片

图2

可以向一个单元格添加多个格式详细信息,代码如下:

Sub FindFormat1()

    Dim rngSearch As Range

    Set rngSearch = Range('A1:D10')

    Application.FindFormat.Interior.Color= RGB(255, 255, 0)

   Application.FindFormat.Font.Color = RGB(255, 0, 0)

    Dim rngFound As Range

    Set rngFound = rngSearch.Find('excelperfect', Lookat:=xlPart,MatchCase:=False, searchformat:=True)

    If rngFound Is Nothing Then

       Debug.Print '没有找到!'

    Else

       Debug.Print rngFound

       Debug.Print rngFound.Address

    End If

End Sub

结果如下图3所示。

图片

图3

也可以使用代码:

Sub FindFormat2()

    Dim rngSearch As Range

    Set rngSearch = Range('A1:D10')

    Application.FindFormat.Interior.Color= RGB(255, 255, 0)

   Application.FindFormat.Font.Color = RGB(255, 0, 0)

    Dim rngFound As Range

    Set rngFound = rngSearch.Find('', Lookat:=xlPart, MatchCase:=False,searchformat:=True)

    If rngFound Is Nothing Then

       Debug.Print '没有找到!'

    Else

       Debug.Print rngFound

       Debug.Print rngFound.Address

    End If

End Sub

结果同上图3。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多