前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA小技巧12:查找正确的格式

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

作者头像
fanjy
发布2021-07-30 10:04:43
1.3K0
发布2021-07-30 10:04:43
举报
文章被收录于专栏:完美Excel

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

此时,就要用上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

代码如下:

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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

也可以使用代码:

代码语言:javascript
复制
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。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档