VBA循环:如果单元格包含特定值,则删除包含该值的行以及下面的3行

嗨,我想通过一个长的报告,删除删除循环。

一般的逻辑是这样的:如果脚本在列B1中find值“DELETE”,那么它应该删除范围“A1:I4”。 我有下面的脚本,显然不工作。 我正在尝试使用“X”variables找出跨多列的范围的正确语法。 任何帮助,将不胜感激!

我有以下循环:

Sub RemoveDel() lastrow = Cells(Rows.Count, "B").End(xlUp).Row For x = 1 To lastrow If Range("B" & x).Value = "DELETE" Then Range("A" & x:"I" & x + 4)).ClearContents Next x End Sub 

我想你只是为了解决这个问题,把冒号放在引号中。

 If Range("B" & x).Value = "DELETE" Then Range("A" & x & ":I" & x + 4)).ClearContents 

编辑

第一位也可以使用“单元格”而不是“范围”。

 If Cells(x,"B").Value = ..... 

这适用于我:

 Sub RemoveDel() lastrow = Cells(Rows.Count, "B").End(xlUp).Row For x = 1 To lastrow If Range("B" & x).Value = "DELETE" Then Range("A" & x & ":I" & x + 4).ClearContents Next x End Sub