在Excel中的数字范围之间插入行

时间:2019-05-29 10:13:06

标签: excel vba

我的Excel有1列和10行的序号。我想创建一个宏,该宏可以从column的顶部值开始,然后以list的第一个值插入2行,然后移至第二个值并执行相同操作,依此类推。

Values Column
1
2
3

Result Column
1
1
1
2
2
2
3
3
3

1 个答案:

答案 0 :(得分:0)

我认为这可以做到:

Sub insertRows()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim lastRow As Long: lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
Dim R As Long

    For R = lastRow To 2 Step -1
        ws.Rows(R & ":" & R + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        ws.Range(ws.Cells(R, 1), ws.Cells(R + 1, 1)) = ws.Cells(R + 2, 1).Value
    Next R

End Sub

PS:这是从底部开始的,而不是从顶部到底部。