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

时间:2017-09-15 13:57:40

标签: excel vba excel-vba for-loop null

我试图根据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

我不断收到编译错误,如果没有Else,或者没有For,我该如何解决?

提前致谢。

1 个答案:

答案 0 :(得分:1)

一些事情:

  1. 关闭了许多语法的放置。
  2. 添加或删除行时,您需要根据Excel处理这些事件的方式向后循环。
  3. 见下面的代码:

    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