我正在尝试编写一个宏/ vba,它将检查我的Excel工作表中的12-451行。如果列“ H”(在任何所述行中)包含零值,则应删除该行。
Excel将用于上传程序,并且在“ H”列中不能有任何零值
我记录了一个宏,该宏用所需的数据填充了第12-451行(列“ A”至“ H”),但是我可以添加到宏的代码段有问题(最后)它将循环返回并删除“ H”列中任何值为零的行。
我试图记录“删除”宏,但无法弄清楚如何使代码循环遍历每一行并删除具有零值的代码。
请让我知道是否需要更多信息。
答案 0 :(得分:0)
尝试一下:
Sub HKiller()
For i = 451 To 12 Step -1
If Cells(i, "H").Value = 0 Then Rows(i).Delete
Next i
End Sub
请注意,我们从头到尾都在工作,以避免出现索引问题。
答案 1 :(得分:0)
我正在尝试相同的操作,即,如果两列单元格中的任何一个具有“ 0”,则删除列,然后删除该行。我已经修改了上面的代码。请提出来。
Sub test()
Dim Lastrow As Long, i As Long
'LastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
With ThisWorkbook.Worksheets("Sheet1")
Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 0 To Lastrow Step 1
If Cells(i, "E" Or "F").Value = 0 Then Rows(i).Delete
Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
Next i
End With
End Sub
谢谢