excel学习库

excel表格_excel函数公式大全_execl从入门到精通

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

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接