暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

VBA实用小程序75:选择所有的合并单元格

完美Excel 2021-04-21
1023

学习Excel技术,关注微信公众号:

excelperfect


在使用VBA操作单元格时,合并的单元格可能会导致问题,甚至在工作表中进行一些操作时,合并的单元格也可能会导致错误。因此,如果我们能够识别合并的单元格,就可以确定对它们采取的操作。

 

下面的代码可以选择工作表中的合并单元格。

Sub SelectAllMergedCells()

    Dim c As Range

    Dim mergedCells As Range

    Dim fullRange As Range

    Dim rangeDescription As String

   

   '统计所选区域中的单元格.

   '如果只有1个单元格则搜索已用区域,

   '否则搜索所选的单元格区域.

    If Selection.Cells.Count > 1 Then

        Set fullRange = Selection

        rangeDescription = "所选单元格"

    Else

        Set fullRange = ActiveSheet.UsedRange

        rangeDescription = "活动单元格区域"

    End If

   

   '遍历当前工作表所选区域中每个单元格

    For Each c In fullRange

        If c.MergeCells = True Then

            '如果找到第1个单元格则设置该变量,

            '否则添加到已存在的单元格列表

            If mergedCells Is Nothing Then

                Set mergedCells = c

            Else

                Set mergedCells =Union(mergedCells, c)

            End If

        End If

    Next

   

   '选择未锁定单元格的区域

    If Not mergedCells Is Nothing Then

        mergedCells.Select

    Else

        MsgBox rangeDescription & ": "& fullRange.Address & "中没有合并的单元格."

    End If

End Sub

 

如果在工作表中仅选择了一个单元格,则查找并选择工作表中所有已用单元格中的合并单元格;如果在工作表中选择了多个单元格,则在所选单元格区域中查找并选择合并单元格。

 

一旦选择了所有合并单元格,就可以对它们进行处理了。

 

注:本文整理自exceloffthegrid.com,供有兴趣的朋友学习参考。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

文章转载自完美Excel,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论