|
本帖最后由 dragonthree 于 2024-7-9 20:48 编辑
- Private Sub CommandButton1_Click()
- Dim irow As Integer
- Dim i As Integer
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- Set d = CreateObject("scripting.dictionary")
- With ActiveSheet
- arr = .Range("a1:b" & .Cells(.Rows.Count, 1).End(3).Row)
- End With
- ReDim brr(1 To UBound(arr), 1 To 4)
- For i = 1 To UBound(arr)
- d(arr(i, 1)) = d(arr(i, 1)) + 1
- Next
- For i = 2 To UBound(arr)
- If d.exists(Range("A" & i).Value) Then
- x = d(Range("A" & i).Value)
- Range(Range("a" & i), Range("a" & i + x - 1)).Merge '单元格合并
- i = i + x - 1
- End If
- Next
- Application.ScreenUpdating = False
- Application.DisplayAlerts = True
- End Sub
复制代码
相同的编码是不是在一起?如果是在一起,可以先用字典计个数,然后一次性合并,就不需要STEP 1了,比如有8个14030101,就8行合并,再i=i+8(也可能是i=i+7),你试下就知道了 |
|