宏:如果值与此值不匹配,则删除行

时间:2018-01-24 15:25:29

标签: excel-vba vba excel

我正在尝试修改以下代码,如果它不匹配" X"或" Y"然后删除整行。我试图添加'"或者" Y"'但我得到了类型不匹配

For Lrow = Lastrow To Firstrow + 1 Step -1
     With .Cells(Lrow, "AY")
        If Not IsError(.Value) Then
            If Not .Value Like "X" Then .EntireRow.Delete
        End If
    End With
Next Lrow

有什么想法?还是建议更换?

2 个答案:

答案 0 :(得分:1)

AND周围使用ORNot时要非常小心 - 你必须仔细考虑:

请注意。 NOT(a OR b)NOT(a) AND <相同/ EM> NOT(b)

以下代码将满足您的需求:

For Lrow = Lastrow To Firstrow + 1 Step -1
    With ActiveSheet.Cells(Lrow, "AY")
        If Not (.Text = "X" Or .Text = "Y") Then .EntireRow.Delete
    End With
Next Lrow

以下行也适用:

       If Not (.Text = "X") And Not(.Text = "Y") Then .EntireRow.Delete

答案 1 :(得分:0)

下面的代码如何::

C