前言

平时工作中经常会用到excel的功能, 难免有一些操作不能批量处理, 比如说某一列有100w的数据需要合并单元格, 手动去点的话, 费时费力, 又不能保证准确性. 此时一般有三种办法, 1.请出公式大神 2.vba 3.vbs 论效率和学习成本来说, vba是最佳方案.

效果展示

excel之vba快速合并单元格

完整宏代码

Sub MergeRange()
Dim rngData As Range
Dim i&, lngCol&, lngFirst, lngLast
On Error Resume Next
Set rngData = Application.InputBox(“请选择单列数据列!”, Default:=Selection.Address, Type:=8)
Set rngData = Intersect(rngData.Parent.UsedRange, rngData)
lngCol = rngData.Column 'rngData所在列
lngFirst = rngData.Row
lngLast = lngFirst + rngData.Rows.Count - 1
Application.ScreenUpdating = False
Application.DisplayAlerts = False
rngData.Parent.Select
For i = lngLast To lngFirst + 1 Step -1
If Cells(i, lngCol) = Cells(i - 1, lngCol) Then
Cells(i - 1, lngCol).Resize(2, 1).Merge
End If
Next
rngData.VerticalAlignment = xlCenter
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox “合并完成。”
End Sub

后记

如果对vba及宏的使用不太熟悉可以下载链接文件参考练习, 如何开启宏的功能请百度一下, 在此不赘述了.
下载链接

相关文章:

  • 2021-09-27
  • 2021-12-29
  • 2021-12-04
  • 2021-10-19
  • 2022-01-05
  • 2021-10-30
  • 2021-06-18
  • 2021-11-13
猜你喜欢
  • 2021-12-03
  • 2021-11-03
  • 2021-11-03
  • 2021-12-04
  • 2021-11-03
  • 2021-11-13
  • 2021-12-04
  • 2021-09-27
相关资源
相似解决方案