加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索
背景:
阅读内容  领跑条码、标签打印软件 | 来电弹出客户资料

用VBA按Excel2003单元格格式查找

[日期:2008-11-23] 作者: 来源: [字体: ]

Excel2003 版,查找的功能多了一个按 单元格 的格式来查找符合条件的单元格,指定格式的方法是,单击查找对话框中的“选项”,展开后单击“格式”,在“查找格式”对话框中进行设定或选择包含格式的单元格。比如我们要搜索合并的单元格,就可以在对齐选卡中把 合并 的单元格中选上。

而在 VBA 中,我们怎么来完成呢?通过 录制宏 ,可以发现我们并不能录到任何代码,而在Find对应的VBA帮助中,我们也只能找到一条相关的信息:

SearchFormat      Variant 类型,可选。搜索的格式。

而没有其它相关的信息与相关的实例!那下面我们就以上面查找合并单元格的例子,看怎么用VBA来选择当前工作表中的所有合并单元格。

Sub FindFormatDemo()
Dim SRan As Range
Dim TRan As Range
Dim URan As Range
Dim TStr As String
Set SRan = ActiveSheet.UsedRange
'设置要查找的单元格格式类型的搜索条件为合并单元格类型。
Application.FindFormat.MergeCells = True
Set TRan = SRan.Find(What:="", After:=SRan.Item(1), SearchDirection:=xlNext, SearchFormat:=True)
If TRan Is Nothing Then
    MsgBox "当前工作表中没有合并单元格!", , "提示 - http://wwww.excelba.com"
Else
    Set URan = TRan
    TStr = TRan.Address
    Do
        Set TRan = SRan.Find(What:="", After:=TRan, SearchDirection:=xlPrevious, SearchFormat:=True)
        If Not TRan Is Nothing And TRan.Address <> TStr Then
            Set URan = Union(URan, TRan)
        Else
            Exit Do
        End If
    Loop
    URan.Select
    MsgBox Selection.Address, , "合并单元格地址: - http://wwww.excelba.com"
End If
End Sub


要注意的是,如果你要直接返回合并单元格,而不是选择后再返回选择的地址,上面的代码要作一下修改!

Sub FindFormatDemo()
Dim SRan As Range
Dim TRan As Range
Dim URan As Range
Dim TStr As String
Set SRan = ActiveSheet.UsedRange
'设置要查找的单元格格式类型的搜索条件为合并单元格类型。
Application.FindFormat.MergeCells = True
Set TRan = SRan.Find(What:="", After:=SRan.Item(1), SearchDirection:=xlNext, SearchFormat:=True)
If TRan Is Nothing Then
    MsgBox "当前工作表中没有合并单元格!", , "提示 - http://wwww.excelba.com"
Else
    Set URan = TRan.MergeArea
    TStr = TRan.Address
    Do
        Set TRan = SRan.Find(What:="", After:=TRan, SearchDirection:=xlPrevious, SearchFormat:=True)
        If Not TRan Is Nothing And TRan.Address <> TStr Then
            Set URan = Union(URan, TRan.MergeArea)
        Else
            Exit Do
        End If
    Loop
    URan.Select
    MsgBox URan.Address, , "合并单元格地址: - http://wwww.excelba.com"
End If
End Sub


本文来自:Excel吧

关键词:格式  单元格  查找 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
本文评论   查看全部评论 (5)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 5 楼
* 匿名 发表于 2016/12/24 17:55:37
http://www.blue1000.com/bkhtml/c118/2010-08/68817.htm 教师节获奖感言 http://www.135995.com/show/19652.html 获奖感言一句话 http://www.135995.com/show/19648.html
第 4 楼
* 发表于 2009/1/5 13:32:33
哦哦
第 3 楼
* nkrjhlx 发表于 2008/12/21 9:20:20
很好
第 2 楼
* luo 发表于 2008/12/18 6:48:20
ky
第 1 楼
* STDYH 发表于 2008/11/25 11:31:50
SDARNGJSAEJ