删除每隔一行

时间:2015-07-10 13:27:50

标签: vba excel-vba excel

我想编写一个循环,删除工作表中的整行以清理文件。因此,如果我有第1行到第10行,我想删除第1,3,5,7,9行。

Sub deleteeveryotherrow()
 For x = 1 To 10

     Rows("x:x").Select
        Selection.Delete Shift:=xlUp
        x = x + 2
        Next x

    End Sub

2 个答案:

答案 0 :(得分:2)

"x:x"只是一个文字字符串,因此无法按预期工作。

改为使用Rows(x & ":" & x).Select

您还应该考虑从10到1向后运行循环:

For x = 9 To 1 Step -2

否则你会让你的索引纠结在一起。然后,您就可以删除该行x = x + 2

答案 1 :(得分:0)

Sub deleteeveryotherrow()

For x = 1 To 100 Step 1

 Rows(x & ":" & x).Select
    Selection.Delete Shift:=xlUp

    Next x

End Sub

这非常有效,谢谢