VBA一键批量合并相同内容单元格
2020年04月07日 12:57 发布来源:Excel学习网
Excel中为了表格的简捷,通常相同的内容进行合并,如何批量进行?
>>>> 例:对下面表格的相同姓名进行合并
姓名 | 数量 |
张三 | 76 |
张三 | 51 |
李四 | 83 |
李四 | 34 |
李四 | 68 |
李四 | 83 |
王五 | 66 |
王五 | 93 |
王五 | 61 |
小才子 | 40 |
小才子 | 46 |
小才子 | 76 |
小才子 | 36 |
小才子 | 63 |
本例使用VBA进行运算
step1.表格分析
-
上述表格姓名下的相同数据已经是堆积在一起的,所以不用进行排序
-
表格中的数据是不固定的,所以要先找到数据的最后一行,可以使用[A65536].End(xlup).Row
'相当于数据表最后一行向上ctrl+↑
-
数据从下向上,数据相同则合并,使用merge语句,不相同则跳过,所以使用if语句进行循环
step2.建立VBA代码
建立一个模块,并建立一个合并过程,编写对应的代码,如下 所示:
VBA代码
Sub 合并()
Dim ln%, i%
Application.DisplayAlerts = False
ln = [A65536].End(xlUp).Row
For i = ln To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) Then
Range(Cells(i - 1, 1), Cells(i, 1)).Merge
End If
Next
Application.DisplayAlerts = True
End Sub
将文件另存为xlsm格式,要不然重新打开这段代码就消失了!
step3.运行结果
在【开始】-【开发工具】-【宏】
选择宏名为合并,并运行,直接就合并了!
如果你的数据源不是在A列,在其他列,这段代码就没用了。
那么如何使用这段代码在任意列都能用呢?
原创文章如转载请注明:转载自Excel学习网 [ http://www.excelxx.com/]
需要保留本文链接地址:http://www.excelxx.com/xuexixinde/12296.html
需要保留本文链接地址:http://www.excelxx.com/xuexixinde/12296.html
相关教程:
经典Excel学习视频及教程推荐:
Excel优秀工具推荐:
小工具推荐: