如何根据VBA中的空单元格值删除行

我试图根据D列中的单元格值是否为NULL来删除整行。 我的整个代码到目前为止是:

Sub DeleteNULL() Dim i As Long For i = 2 To 119713 If IsEmpty(Range("Di")) = True Then Rows([i]).EntireRow.Delete Else If IsEmpty(Range("Di")) = False Then Next i End If End Sub 

我不断收到编译错误,要么如果没有其他的或没有下一个,我该如何解决这个问题?

提前致谢。

一些东西:

  1. 放置很多语法是closures的。
  2. 添加或删除行时,您需要根据Excel处理这些事件的方式向后循环。

见下面的代码:

 Sub DeleteNULL() Dim i As Long For i = 119713 To 2 Step -1 If IsEmpty(Range("D" & i)) Then Rows([i]).EntireRow.Delete Next i End Sub