相信很多經常使用excel的同學為了格式美觀經常需要把連續相同的單元格(如班級、類型)進行合并。
如果資料量較小,手工點選合并即可。但如果是大量的資料,如幾千行。那可真是麻煩!
是以,作者在一次遇到較多單元格的時候變寫了一段vba來實作。
初次寫是為了合并連續相同的行,後來了解到有些同僚也需要,而且有時候是針對列來合并,是以又編輯了一下,可以自動識别行或列。
一個小例子:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmL0gTMycTM3IDOzkDM1ITOwgTMwIzLcVDM0EDMy8CXvZmbp9CXt92YuUGZvNWatFWbuU2Zh1Wavw1LcpDc0RHaiojIsJye.jpg)
先選中第一列有文字部分,然後點選:【我是做成了一個附加元件,比較友善】
再選中第一行有文字部分,然後點選該宏。得到如下結果:
代碼比較簡單。想用的同學可以參考:
Public Sub
合并連續相同單元格【自動識别按行或按列】()
Dim i As
Integer
Application.ScreenUpdating =
False
Application.DisplayAlerts =
c =
Selection.Column
l =
Selection.Row
F =
Selection.Item(Selection.Count).Row
K
= Selection.Item(Selection.Count).Column
If
F > K Then
For i = F To l + 1
Step -1
If Cells(i, c).Value =
Cells(i - 1, c).Value Then
Range(Cells(i, c), Cells(i - 1,
c)).Merge
End If
Next
Else
For i = K To c + 1 Step -1
Cells(l, i).Value = Cells(l, i - 1).Value Then
Range(Cells(l,
i), Cells(l, i - 1)).Merge
End
True
End Sub
ps:我也沒學過vb之類,隻不過我是個懶人,是懶惰驅使我去學習一些小伎倆,好去偷閑!