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

时间:2017-10-18 14:51:56

标签: excel vba excel-vba

您好,我正在尝试循环删除删除的长报告。

一般逻辑是:如果脚本找到值" DELETE"在列B1中,它应该删除范围" A1:I4"。我有下面的脚本显然不起作用。我试图使用" X"来计算多个列中范围的正确语法。变量。任何帮助将不胜感激!

我有以下循环:

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

1 个答案:

答案 0 :(得分:4)

我认为你只需修复这部分并将冒号放在引号中。

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

修改

您也可以使用“Cell”而不是Range作为第一位。

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