Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel中自动合并单元格_Excel_Vba - Fatal编程技术网

在Excel中自动合并单元格

在Excel中自动合并单元格,excel,vba,Excel,Vba,我有一个工作表,我在其中检查“B”列。在“B”列中,从第二行开始,我以这种方式合并了单元格,B2与B3合并,B4与B5合并,B6与B7合并,等等。是否可以在excel中创建VBA循环?什么将扩展合并?我想在B列中有5个合并的单元格,所以这个循环应该在B2和B3之间插入3个单元格,在B4和B5之间,等等。。。可能吗?怎样做呢?假设数据或布局中没有有趣的东西,那么下面的工作应该是可行的 Sub insert_rows() Dim lastRow As Long lastRow = Cells(Row

我有一个工作表,我在其中检查“B”列。在“B”列中,从第二行开始,我以这种方式合并了单元格,B2与B3合并,B4与B5合并,B6与B7合并,等等。是否可以在excel中创建VBA循环?什么将扩展合并?我想在B列中有5个合并的单元格,所以这个循环应该在B2和B3之间插入3个单元格,在B4和B5之间,等等。。。可能吗?怎样做呢?

假设数据或布局中没有有趣的东西,那么下面的工作应该是可行的

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列中插入一行。如果要插入整行,请使用tmpRng.rows(2)将行更改为