excel|EXCEL合并单元格并保留单元格内的值

excel|EXCEL合并单元格并保留单元格内的值

文章图片

excel|EXCEL合并单元格并保留单元格内的值

文章图片

excel|EXCEL合并单元格并保留单元格内的值

文章图片



Excel在进行单元格合并时会提示这样一句话“合并单元格时 , 仅保留左上角的值 , 而放弃其他值” 。

这句话是什么意思呢?看看下图你就明白了 。

【excel|EXCEL合并单元格并保留单元格内的值】可以看到 , 取消合并单元格后 , 仅保留最上方的值 , 其余单元格的值已经清除 。
利用这种方式进行单元格合并后 , 如果需要利用公式进行计算 , 那么会带来一定程度的不便 。 比如 , 你不能向下拖拽公式 。

那么我们该如何实现既合并单元格 , 又保留单元格内的值呢?

通过测试 , 我发现利用格式黏贴 , 可以实现上述效果 。
首先在空白区域制作一个合并单元格样式的区域 , 然后将空白区域复制黏贴格式到需要合并并保留单元格内值的区域 。

当然 , 利用代码将需要重复性的操作简化为一键生成 , 是提高工作效率的最佳选择 , 比如上面的操作 , 也可以这样实现 。


Sub 格式合并单元格()
Dim n As Integer i As Integer
Application.ScreenUpdating = False
Columns(\"A:A\").EntireColumn.Insert
r = Selection.Row
c = Selection.Column + 1
For Each rg In Selection
i = rg.Row
If rg.Offset(0 1) = rg.Offset(1 1) Then
Cells(i 1).Resize(2 1).Merge
End If
n = n + 1
Next
Range(Cells(r 1) Cells(r + n - 1 1)).Copy '复制单元格
Cells(r c).PasteSpecial Paste:=xlPasteFormats '粘体格式
Columns(\"A:A\").EntireColumn.Delete
Application.ScreenUpdating = True
End Sub