设置主页 | 收藏本站 Excel学习网-公益型的EXCEL在线学习网站,助您轻松办公!

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.运行结果

在【开始】-【开发工具】-【宏】

选择宏名为合并,并运行,直接就合并了!

VBA一键批量合并相同内容单元格

如果你的数据源不是在A列,在其他列,这段代码就没用了。

那么如何使用这段代码在任意列都能用呢?

原创文章如转载请注明:转载自Excel学习网 [ http://www.excelxx.com/]
需要保留本文链接地址:http://www.excelxx.com/xuexixinde/12296.html
分享到:
网站地图 | XML地图 | 免责声明 | 关于我们 | Excel学习网:优秀的EXCEL在线学习和资源分享网站。
版权所有: CopyRight © 2013-2018 www.excelcn.com All Rights Reserved.
豫ICP备12002644号