在Excel中自动合并单元格

时间:2018-04-03 19:20:58

标签: excel excel-vba vba

我有一张工作表,我正在检查列“B”。在从第2行开始的COlumn“B”中,我以这种方式合并单元格,B2与B3合并,B4与B5合并,B6与B7等合并......是否可以在Excel中创建VBA循环什么会扩大合并?我希望在B列中有5个合并的单元格,所以这个循环应该在B2和B3之间,B4和B5之间插入3个单元格等等......有可能吗?怎么样?

1 个答案:

答案 0 :(得分:0)

以下情况应该有效 - 假设数据或布局没有任何时髦性。

Sub insert_rows()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row

Dim tmpRng As Range

Set tmpRng = Range("B" & lastRow)

Dim rowsToAdd As Long, i As Long
rowsToAdd = 3

Do While tmpRng.Rows(1).Row >= 2
    With tmpRng.Rows(2)
        For i = 1 To rowsToAdd
            .Insert shift:=xlDown, copyorigin:=xlFormatFromLeftOrAbove
        Next i
    End With
    Set tmpRng = tmpRng.End(xlUp)
Loop
End Sub

请注意,它在列B中插入一行。如果要插入整行,请将行更改为With tmpRng.rows(2).EntireRow