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

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

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

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

源数据:

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

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

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

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

附上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中每一个方法都有特定的用途,不是他们没有用处,只是你不了解或者暂时用不着,建议你收藏起来,万一哪天用着呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值