Excel VBA 每隔一行合并一次

Excel VBA to merge every other row

提问人:TheEndUK 提问时间:11/11/2021 最后编辑:TheEndUK 更新时间:11/11/2021 访问量:154

问:

我需要合并工作表中每隔一行中的单元格,因此对于数据中有多少行,对于 B 到 L 列,它都是第 3、5、7、9 行等。到目前为止,我一直在手动执行此任务,因为我无法使用 VBA 复制该过程,并且无法在线找到解决方案 - 如果有人能帮助处理 VBA,我将不胜感激 - 下面的代码非常接近我需要的,但它将单元格 A2 与 A3 合并,然后将 B2 与 B3 等合并 - 我需要它来合并单元格 B3 到 L3,然后 B5 到L5、B7 至 L7 等 亲切的问候和提前感谢。 TE公司

Sub Merge_alternate_rows()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row Step 3
    For j = 1 To Columns("L").Column
        With Range(Cells(i, j), Cells(i + 1, j))
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .MergeCells = True
        End With
    Next
Next
End Sub
Excel VBA

评论

0赞 FaneDuru 11/11/2021
是的,它可以通过VBA执行...
0赞 TheEndUK 11/11/2021
我添加了VBA代码并重新表述了问题。

答:

0赞 ceci 11/11/2021 #1
Sub Merge_alternate_rows()
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    For i = 3 To Range("A" & Rows.Count).End(xlUp).Row Step 2
        'For j = 1 To Columns("L").Column
            With Range(Cells(i, 2), Cells(i, 12))
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .MergeCells = True
            End With
        Next
    'Next
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

评论

0赞 TheEndUK 11/11/2021
这是完美的 - 非常感谢!
0赞 ceci 11/11/2021
YW,你离:)很近。接受作为答案,让其他人知道它已经解决了。