Excel数据重复或+空格怎样批量合并单元格
1、首先打开Microsoft Office Excel 2007,文件保存为《Excel数据重复或+空格怎样批量合并单元格》,如下图。

2、然后按下快捷键ALT+F11打开VBA(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。

3、然后插入了一个模块1,在代码框中复制如下代码:
Option Base 1
Sub 选重复空合并单元格()
'2020-5-17 22:38:23
Dim myr As Range, r1 As Long, r2 As Long, c1 As Long, c2 As Long
Dim k As Long, i As Long, n As Long
Set myr = Selection
n = myr.Count
r1 = myr.Cells(1).Row
r2 = myr.Cells(n).Row
c1 = myr.Cells(1).Column
c2 = myr.Cells(n).Column
Application.ScreenUpdating = False
If r1 = r2 Or c1 = c2 Then
Call ZKDYG
Else
Response = MsgBox("按列合并单元格请按“是(Y)”,按行合并单元格请按“是(N)”", vbYesNo)
If Response = vbYes Then
For i = c1 To c2
Range(Cells(r1, i), Cells(r2, i)).Select
Call ZKDYG
Next i
Else
For i = r1 To r2
Range(Cells(i, c1), Cells(i, c2)).Select
Call ZKDYG
Next i
End If
End If
Application.ScreenUpdating = True
End Sub
Private Sub ZKDYG()
'2020-5-17 22:18:12
Dim myr As Range, n As Long
Dim k As Long, i As Long, j As Long, mb(), mk
Set myr = Selection
n = myr.Count
Application.DisplayAlerts = False
k = Application.WorksheetFunction.CountA(myr)
If k = 0 Then
myr.Merge
ElseIf k = n Then
j = 0
ReDim mb(n, 2)
For i = 1 To n
If i = 1 Then
j = j + 1
mk = myr.Cells(i).Value
mb(j, 1) = i
Else
If mk <> myr.Cells(i).Value Then
j = j + 1
mb(j, 1) = i
mk = myr.Cells(i).Value
mb(j - 1, 2) = i - 1
End If
End If
Next i
Else
j = 0
ReDim mb(n, 2)
For i = 1 To n
If i = 1 And myr.Cells(i).Value <> "" Then
j = j + 1
mb(j, 1) = i
Else
If myr.Cells(i).Value <> "" Then
j = j + 1
mb(j, 1) = i
mb(j - 1, 2) = i - 1
End If
End If
Next i
End If
mb(j, 2) = n
For i = 1 To j
Range(myr.Cells(mb(i, 1)), myr.Cells(mb(i, 2))).Merge
Next i
End Sub

4、以上操作动态过程如下:

5、回到工作表窗口,首先选数据表,然后运行【选重复空合并单元格】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名),根据选数据不同有四种结果下面一一分述。
1、一行或一列重复数据。首先选数据表,然后运行【选重复空合并单元格】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名),生成结果。


2、一行或一列数据+空格。选数据表,然后菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选宏名“选重复空合并单元格 ”点【执行】,生成结果。


3、多行或多列重复数据。选数据表,然后菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选宏名“选重复空合并单元格 ”点【执行】,弹出“"按列合并单元格请按“是(Y)”,按行合并单元格请按“是(N)””选择框,根据数据选择后,生成结果。


4、多行或多列数据+空格。选数据表,然后菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选宏名“选重复空合并单元格 ”点【执行】,弹出“"按列合并单元格请按“是(Y)”,按行合并单元格请按“是(N)””选择框,根据数据选择后,生成结果。


5、处理这样表格应用这样方法(作为工具按键),大大提高了工作效率。如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!