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

2021-05-07 10:36:43 浏览数 (2)

学习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,供有兴趣的朋友学习参考。

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

0 人点赞