应用场景
按格式进行查找,并选择
知识要点
1:Application.FindFormat 属性 设置或返回要查找的单元格格式类型的搜索条件
2:.Find(what:="", LookIn:=xlFormulas, lookat:=xlPart, searchformat:=True) 按格式查找
Sub 按格式查找()
Dim findstr As String, rng As Range, mrng As Range
Application.FindFormat.Clear '清除原有格式
With Application.FindFormat '设置查找格式
.Font.Name = "Arial Blank" '指定字体
.Font.Bold = True '加粗
.Interior.Color = 65535 '黄色背景
End With
With Range("C:C") '在C 列查找
Set rng = .Find(what:="", LookIn:=xlFormulas, lookat:=xlPart, searchformat:=True) '按格式查找
If rng Is Nothing Then MsgBox "没有找到此类单元格": Exit Sub '如果找不到则退出
Set mrng = rng '将第一个找到的对象赋予另一个变量
findstr = rng.Address '取第一个找到的单元格的地址
Do
Set mrng = Union(mrng, rng) '合并变量mrng和找到的单元格(如果有多个符合条件,则逐一合并)
Set rng = .Find(what:="", after:=rng, searchformat:=True) '查找下一个,直到找到的单元格地址等于第一个单元格地址时停止
Loop While findstr = rng.Address
mrng.Select '选择所有符合条件的单元格
End With
End Sub