繁体   English   中英

如果列中有0值,则excel vba删除整行

[英]excel vba delete entire row if there is 0 value in a column

我想制作一个VBA代码,如果“D”列中的值为0,则会自动删除整行。我使用此代码但是当我尝试运行它时,它给出了一个错误,说“应用程序定义或对象定义的错误” 。 有谁知道为什么? 或者还有其他方法吗?

Sub deletezeros()
    Dim c As Range
    Dim searchrange As Range
    Dim i As Long

    Set searchrange = Worksheets("sheet2").Range("D2", ActiveSheet.Range("D123432").End(xlUp))

    For i = searchrange.Cells.Count To 1 Step -1
        Set c = searchrange.Cells(i)
        If c.Value = "0" Then c.EntireRow.Delete
    Next i
End Sub

你能尝试一个更简单的程序吗? 喜欢:

    Dim SH As Worksheet
    Set SH = ThisWorkbook.Sheets("sheet2")
    Dim LR As Long
    LR = SH.Columns(4).Find("*", searchorder:=xlByRows, LookIn:=xlValues, searchdirection:=xlPrevious).Row
   '-----
    For i = LR To 2 Step -1
        If SH.Cells(i, 4).Value = "0" Then
            SH.Cells(i, 4).EntireRow.Delete
        End If
    Next i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM