如何在单元格包含特定值但不影响第1行时删除整行

时间:2016-09-16 21:27:32

标签: excel vba dynamic macros row

我需要删除列N中包含0或正值的所有行(整行)。下面的代码正确执行此操作,但问题是第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 个答案:

答案 0 :(得分:1)

您要将代码设置为从最后一行运行到第一行,即第一行,即整个文档。如果改为直到第2行运行怎么办?您只需要确保标题位于第1行!

以下是我在代码中要更改的内容:

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

这样您就可以保留第一行并完成工作。