乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > Excel取消合并单元格时在每个单元格中保留内容,你会批量操作吗?-excel中合并单元格

Excel取消合并单元格时在每个单元格中保留内容,你会批量操作吗?-excel中合并单元格

作者:乔山办公网日期:

返回目录:excel表格制作

Excel中存在合并的单元格,对我们来说已经是司空见惯啦!在另外一些时候我们又需要将已经合并的单元格的值,进行取消合并,并每个都填充原来合并之前的值。

对于结构简单的带有合并单元格的表格,我们一般正常操作是手动取消单元格合并,然后手动进行定位,然后填充空白值。但是如果有几千行数据,或者上万行数据需要取消合并单元格时在每个单元格中保留内容,你确定需要一个一个的手动进行操作吗?其实你大可不必慌张,我们可以一键操作即可。

照例举一个例子,源数据如下图所示,B列为已经合并的数据,需要将部门字段取消合并单元格并在每个单元格中保留内容。

源数据:


Excel取消合并单元格时在每个单元格中保留内容,你会批量操作吗?


我们先看看动画执行的效果:


Excel取消合并单元格时在每个单元格中保留内容,你会批量操作吗?


看了以上的动画,你是不是发现批量操作取消合并单元格,并保留原来的值,其实很简单。

您只需要将以下代码复制到Excel的VBE窗口的模块中,然后执行程序即可。

PS:操作流程如下,按照顺序1到4步,然后执行程序。

Excel取消合并单元格时在每个单元格中保留内容,你会批量操作吗?

附上Excel VBA代码

Sub CancelMergeCells()

Dim r As Integer,MergeStr As String,MergeCot As Integer,i As Integer

Dim rng As Range

On Error Resume Next

选择需要合并的列,由用户进行制定,并限定值

Set rng = Application.InputBox("请输入需要合并的列", "区域选择", , , , , , 8)

将用户制定的单元列取得行号

k = rng.Column

With Sheet1

取得最大循环数

r = .Cells(.Rows.Count, 1).End(xlUp).Row

For i = 2 To r

将合并单元格赋值给到变量

MergeStr = .Cells(i, k).Value

计算合并单元格区域的大小

MergeCot = .Cells(i, k).MergeArea.Count

取消合并单元格

.Cells(i, k).UnMerge

将取消的单元格进行赋值填充

.Range(.Cells(i, k), .Cells(i + MergeCot - 1, k)).Value = MergeStr

循环的步长进行累加,减少循环的次数

i = i + MergeCot - 1

Next

添加边框线,数据美化

.Range("A1:C" & r).Borders.LineStyle = xlContinuous

End With

End Sub

以上就是今天要和大家分享的技巧,希望对大家有所帮助,祝各位一天好心情!

唯有不断学习,才能不被淘汰!

Excel中每一个方法都有特定的用途,不是他们没有用处,只是你不了解或者暂时用不着,建议你收藏起来,万一哪天用着呢?


Excel取消合并单元格时在每个单元格中保留内容,你会批量操作吗?


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网