经常用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的文件分享出来,需要的就直接使用吧。
wx公号后台回复无损合并
即可。
不少人对VBA代码有抵触心理,其实没有那么复杂,把他看成一个稍微复杂点的函数即可。
当然如果并不打算深入学习VBA,只是临时使用下,那只要会复制黏贴就好了!
至于怎么用VBA代码,可以参考之前的文章:
Excel vba 实例(1) - 批量制作工资表头
Excel vba 实例(2) - 批量将工作表拆分为单独文件
Excel vba 实例(3) - 多个工作簿批量合并
Excel vba 实例(4) - 根据已有名称,批量新建表格
Excel vba 实例(5) - 快速合并n多个相同值的单元格
Excel vba 实例(6) - 一键汇总多个sheet数据到总表
Excel vba 实例(7)-一键批量打印工作簿
Excel vba 实例(8)- 利用正则表达式进行定向提取
Excel vba 实例(9)- 批量插入、删除表格中的空行
Excel vba 实例(10)- 统计同一列中出现次数并标注
Excel vba 实例(11)- 拆分单元格并自动填充
Excel VBA功能很强大,但是要熟练的运用起来还是有一定的难度,好在永恒君帮大家搜集了几套关于VBA的视频教程,非常的实用。
需要的话,wx公号后台回复“VBA”获取吧~~
欢迎交流!
网友评论