|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
如果按照你提供的表格,我测试是没- Sub myMerge()
- '//BY冷水泡茶,微信公众号:VBA编程实战
- '//案例代码已分享至公众号文章,欢迎关注查看
- Dim ws As Worksheet
- Dim lastRow As Integer, lastCol As Integer
- Dim leftTop As Range, rightDown As Range
- Dim rngMerge As Range
- Set ws = ThisWorkbook.Sheets("合并")
- Application.DisplayAlerts = False
- With ws
- lastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
- lastCol = .Cells(4, .Columns.Count).End(xlToLeft).Column
- For j = 2 To lastCol
- For i = 4 To lastRow
- If .Cells(i, j) <> .Cells(i - 1, j) Then
- Set leftTop = .Cells(i, j)
- End If
- If .Cells(i, j) <> .Cells(i + 1, j) Then
- If Not .Cells(i, j).MergeCells Then
- For k = j To lastCol
- If .Cells(i, k) <> .Cells(i, k + 1) Then
- Set rightDown = .Cells(i, k)
- Set rngMerge = .Range(leftTop, rightDown)
- rngMerge.Merge
- Debug.Print rngMerge.Address
- Debug.Print "i=:" & i
- Debug.Print "j=:" & j
- Exit For
- End If
- Next
- End If
- End If
- Next
- Next
- End With
- Application.DisplayAlerts = True
- End Sub
复制代码
有问题的,但如果把表头“总计”部分修改为其他内容,确实有点问题,没有跳过已合并的单元格。修改一下:
|
评分
-
1
查看全部评分
-
|