经常用Excel的伙伴肯定会碰到这个问题。
在好多个单元格里分别有数据,我们想把它们合并到一个大的单元格里面去。如下图:
直接点击合并单元格只能保留第一个单元格的数据,其他的都会删除。
下面来介绍两个解决方法:
方法一
1、将单元格长度调整到能把所有数据装下的长度;
2、选中所有数据->编辑->填充->两端对齐
但是这种方法有局限性,如果单元格里面有数字或者单元格不连续的时候,这种方法就失效了。
这个时候就要用到另一种方法,没错又是VBA
方法二
代码如下,保存即可使用。
Sub 无损合并单元格() Dim outputText As String Const delim = "" On Error Resume Next For Each cell In Selection outputText = outputText & cell.Value & delim Next cell With Selection .Clear .Cells(1).Value = outputText .Merge .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = True End With End Sub
演示如下:
可以看到,无论是单元格里有没有数字,单元格是否连续,都可以一键的合并单元格同时把数据完整保存。
你需要做的只是把代码复制进去,点击一下鼠标即可实现。
同样的,永恒君把上面实例VBA的文件分享出来,需要的就直接使用吧。
后台回复无损合并即可。
不少人对VBA代码有抵触心理,其实没有那么复杂,把他看成一个稍微复杂点的函数即可。
当然如果并不打算深入学习VBA,只是临时使用下,那只要会复制黏贴就好了!
至于怎么用VBA代码,可以参考之前的文章:
Excel vba 实例(2) - 批量将工作表拆分为单独文件
Excel vba 实例(4) - 根据已有名称,批量新建表格
Excel vba 实例(5) - 快速合并n多个相同值的单元格
Excel vba 实例(6) - 一键汇总多个sheet数据到总表
Excel vba 实例(8)- 利用正则表达式进行定向提取
Excel vba 实例(9)- 批量插入、删除表格中的空行
Excel vba 实例(10)- 统计同一列中出现次数并标注
欢迎交流!
微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com