在vba中的每一行之后为excel插入一个空行

问题描述 投票:1回答:1

我正在使用以下代码:

Sub del_row()
Dim r As Long, y As Long
y = Sheet1.Range("A" & Sheet1.Rows.Count).End(xlUp).Row
    For r = 2 To y Step 2
    Rows(r).Insert Shift:=xlDown
    Next r
End Sub

这有效,但在第1020行停止,我不知道为什么。有没有办法我可以修改它继续,直到没有更多的数据?

excel-vba vba excel
1个回答
2
投票

如果要插入或删除行,请从下往上工作。

Sub del_row()    
    Dim r As Long, y As Long
    y = Sheet1.Range("A" & Sheet1.Rows.Count).End(xlUp).Row
    For r = y To 2 Step -1    '<~~ this is the magic
        Sheet1.cells(r, 1).entirerow.Insert Shift:=xlDown    
    Next r
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.