Excel VBA实现从第3行起隔行合并B至L列单元格求助
适配需求的VBA代码
Sub Merge_target_rows() Application.DisplayAlerts = False Application.ScreenUpdating = False ' 遍历第3、5、7……行直到有效数据末尾 For i = 3 To Range("A" & Rows.Count).End(xlUp).Row Step 2 ' 合并当前行B列到L列的单元格 With Range(Cells(i, "B"), Cells(i, "L")) .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .MergeCells = True End With Next ' 恢复Excel系统设置 Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
代码逻辑说明
- 循环起始行设置为3,步长设置为2,刚好匹配你需要的第3、5、7……所有目标行范围,会自动识别A列最后一行有效数据作为终止边界
- 直接针对单一行的B到L列区域执行跨列合并,替换了原代码逐列合并上下两行的逻辑,完全适配你的需求
- 补充了系统设置恢复语句,避免代码执行后Excel的弹窗提示、屏幕刷新功能异常
内容的提问来源于stack exchange,提问作者TheEndUK
相关产品推荐
相关产品推荐

