首页 > 解决方案 > 在 Excel 中的数字范围之间插入行

问题描述

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

Values Column
1
2
3

Result Column
1
1
1
2
2
2
3
3
3

标签: excelvba

解决方案


我认为这会做:

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:这是从下到上的......不是从上到下。


推荐阅读