2015-07-10 79 views
0

我想寫一個循環刪除工作表中的整個行以清理文件。所以,如果我有一排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 

回答

1

"x:x"只是一個字符串,所以你希望將無法正常工作。

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

你也應該考慮從10到1向後運行循環:

For x = 9 To 1 Step -2

否則你會得到你的索引糾結了。您將可以刪除行x = x + 2

+1

也許'當x = 9:1步驟-2' ...? – Jeeped

+0

糟糕。我們將共同發佈! – Bathsheba

0
Sub deleteeveryotherrow() 

For x = 1 To 100 Step 1 

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

    Next x 

End Sub 

這工作完全歸功於