[英]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.