打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
按格式查找工作表 | VBA实例教程

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www.zhanzhanrufeng.com/cat4/651.html,VBA交流群273624828。

在工作中我们可能会需要查找符合某些特定格式的单元格,这个功能手动实现的话就是用查找替换对话框中的“格式”选项,这次我们来看下怎么用VBA代码来实现按格式查找。

要按格式查找,首先要设置要查找的格式,例如字体为黑体则是Application.FindFormat.Font.Name='黑体'。

设置好格式之后就用Find命令进行查找,Find的用法和前面讲过的Find用法一致,只是将SearchFormat属性设置为true即可。

在之前讲Find用法时在查找下一个内容时我们用的是FindNext,但是在查找格式时FindNext方法并不适用(虽然录制出来的宏中用的仍然是FindNext),因此我们只能记录当前找到的单元格的位置,然后下次查找时从当前位置向后查找,当找到的单元格和我们第一次找到的单元格相同时就说明已经找完了全表。

Sub SearchFormat()
Dim FirstAdd As String, rng As Range, rngs As Range
Application.FindFormat.Clear
With Application.FindFormat   '这里是设置查找的格式
.Font.Name = '黑体'
'.Font.Bold = False
'.Interior.Color = vbRed
End With
With Range('A:A')    '查找的区域
Set rng = .Find(What:='', LookIn:=xlFormulas, LookAt:=xlPart, SearchFormat:=True)
If rng Is Nothing Then  '找不到内容则退出
Exit Sub
End If
Set rngs = rng
FirstAdd = rng.Address   '记录下第一次找到的位置
Do    '循环查找
Set rngs = Union(rngs, rng)
Set rng = .Find(What:='', After:=rng, SearchFormat:=True)
Loop Until FirstAdd = rng.Address
rngs.Select
End With
Set rng = Nothing
Set rngs = Nothing
End Sub

本节示例文件下载地址: http://pan.baidu.com/s/1qAiUa

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
查找某行第一个或最后一个红色的单元格 | VBA实例教程
Excel VBA解读(51):替换——Replace方法
VBA小技巧12:查找正确的格式
隐藏excel表中所有字体为加粗的单元格
VBA代码解决方案:VBA代码中,EXCEL工作表函数SUM的利用方法
工作表函数SUM
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服