电话:0731-83595998
导航

用VBA按Excel2003单元格格式查找

来源: 2017-09-26 19:39

  在 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

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端