|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 andysky 于 2011-12-11 09:39 编辑
Excel可以查找合并单元格,但却不能通过录制宏得到代码
那就自己动手了
Sub 查找合并单元格()
Dim FindStr As String, Rng As Range, mRng As Range
Application.FindFormat.Clear '清除原有格式
Application.FindFormat.MergeCells = True '查找合并单元格
With Cells
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
对象变量mRng代表所有合并单元格。你可以对它计数、加背景色、合计、加批注、清除等等任何操作
|
|