分享

快速合并相同单元格

 EXCEL分享 2020-11-13



海边的郁金香(丙烯)

 前言

前期讲了如何将合并单元格打散并快速填充到每个空白单元格,今天讲一下反向操作。

1要合并的单元格数量相同的情况

此类情况,比较好解决,只要将第一组合并,然后用格式刷,一刷就搞定了。


2要合并的单元格数量不同的情况

此类情况用格式刷就刷不了了,只能手动合并,但如果会点VBA,哪就是分分钟的事。

直接上代码:\'后面为注释。

Sub 合并相同单元格()

Application.DisplayAlerts = False \'关闭警告和消息

Dim i As Integer \'设置i为整数类型

Dim first As Integer \'设置First为整数类型

Dim last As Integer \'设置Last为整数类型

first = InputBox("请输入开始合并的行号,如1,2,3...", "提示") \'显示输入对话框,要求输入开始行号

n = InputBox("请输入结束合并的行号,如1,2,3...", "提示") \'显示输入对话框,要求输入结束行号

C = InputBox("请输入要合并的列号,如A,B,C...", "提示") \'显示输入对话框,要求输入要合并的列号

For i = first To n Step 1 \'循环语句

If Range(C & i) = Range(C & i + 1) Then \'判断当前单元格和下一行单元格是否相同,如果相同,跳转到FLAG出,进行下一个循环

GoTo FLAG:

Else \'如果当前单元格和下一行单元格不同,则将当前单元格的行号赋予Last

last = i

Range(C & first & ":" & C & last).Select \'选择相同的单元格

With Selection

.MergeCells = True \'合并选择单元格区域

End With

first = i + 1 \'行号下移一行,开始新的循环

End If

FLAG:

Next

Application.DisplayAlerts = True \'打开警告和提醒功能

End Sub

操作步骤:

1.alt+f11,打开VBA编辑器,新建一模块,将上述蓝色代码复制到模块中,为了学习深刻,最好手动输写一遍代码,注释可以不写,不影响运行。

2.运行代码,在弹出的对话框中输入要合并的起始和结束行数,以及要合并的列号。

3.程序继续运行,合并瞬间完成。

是不是很神速,等什么,赶紧打开电脑,打开EXCEL,打开VBA码,一起嗨起来,原来你也可以的,VBA其实并不难!


END

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多