VBA代码,但需要保留没有数据的行

我正在使用VBA删除不符合特定条件的行。 代码正在工作,但是,我不知道如何保持空白行分隔数据。 以下是我正在使用的代码。 它适用于删除我想要的,但是,它也删除之间的空白行。

Sub DeleteRows() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Dim i As Long For i = Range("E" & Rows.Count).End(xlUp).Row To 1 Step -1 If (Range("E" & i).Value > -5 And Range("E" & i).Value < 5) Then Range("E" & i).EntireRow.Delete Else If (Range("D" & i).Value > -500 And Range("D" & i).Value < 500) Then Range("D" & i).EntireRow.Delete End If End If Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub 

谢谢!

我认为它应该足以检查空格,如果一个单元格是空白的,不要删除该行。 喜欢这个

 Sub DeleteRows() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Dim i As Long For i = Range("E" & Rows.Count).End(xlUp).Row To 1 Step -1 If (Range("E" & i).Value > -5 And Range("E" & i).Value < 5 and Range("E" & i) <> "") Then Range("E" & i).EntireRow.Delete Else If (Range("D" & i).Value > -500 And Range("D" & i).Value < 500 and Range("D" & i) <> "") Then Range("D" & i).EntireRow.Delete End If End If Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub 

添加另一个和声明应该做的伎俩,例如你可以使用<>来说不等于。

 If (Range("E" & i).Value > -5 And Range("E" & i).Value < 5) And Range("E" & i).Value <> "" Then