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

藏家762 关注

收藏于 : 2022-06-23 17:43   被转藏 : 2       转藏到我的文章库

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列,在其他列,这段代码就没用了。

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

各位朋友可以思考下,有好的想法留言或后台发送吧!

===========================

文章点评
相关文章
藏家762 关注

文章收藏:1

TA的最新收藏
藏友最新收藏
好网角移动端
好网角APP
手机一键收藏