2016-09-16 50 views
-1

我需要刪除列N中包含0或正值的所有行(整行)。下面的代碼正確地執行此操作,但問題是第1行有列標題(全部爲文本)。這一行被我當前的宏刪除。我需要這一行不會被包含在宏觀效果的範圍內或以某種方式鎖定。行數是動態的,因此我不能指定宏運行的固定範圍。如何在單元格包含特定值但不影響第1行時刪除整行

Sub Step20() 


Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 
Dim i As Long 
For i = Range("N" & Rows.Count).End(xlUp).Row To 1 Step -1 
    If (Range("N" & i).Value >= 0) Then 
     Range("N" & i).EntireRow.Delete 
    End If 
Next i 
Application.Calculation = xlCalculationAutomatic 
Application.ScreenUpdating = True 


End Sub 

謝謝!

+1

將for循環中的'to 1'更改爲'to 2'。那麼它永遠不會看第1行 –

+0

@ScottCraner啊!如此明顯 - 完美運作。如果您想提交這個答案,我會將其標記爲如此。 – RugsKid

回答

1

您正在將代碼設置爲從最後一行開始直到第一行,即整個文檔。如果你改變直到第2行,該怎麼辦?你只需要確保你的標題在第一行!

這是我會在你的代碼更改:

For i = Range("N" & Rows.Count).End(xlUp).Row To 2 Step -1 

這樣你保存的第一行,仍然可以得到你的工作做好。

相關問題