快速合并相同单元格
海边的郁金香(丙烯)
前言
前期讲了如何将合并单元格打散并快速填充到每个空白单元格,今天讲一下反向操作。
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