如果匹配获取错误,则删除列的宏

时间:2014-11-24 17:50:01

标签: excel-vba match vba excel

我在表格“YYY”的Col A中搜索值与Col A表“XXX”中的值如果找到匹配,则删除表格“YYY”上匹配单元格的整行

我在这一行object required上得到FindValues(i, 1).Row.Delete我现在已经纠正了一段时间但是失败了

由于 编辑:已更新

Sub FindReplace_Updated_Blanks()
Dim FindValues As Variant, SearchValues As Variant
Dim wsSource As Worksheet, wsTarget As Worksheet
Dim sLR As Long, tLR As Long, i As Long

Set wsSource = ThisWorkbook.Worksheets("XXX")
Set wsTarget = ThisWorkbook.Worksheets("YYY")

          sLR = wsSource.Range("A" & wsSource.Rows.Count).End(xlUp).Row
          tLR = wsTarget.Range("A" & wsSource.Rows.Count).End(xlUp).Row
 SearchValues = wsSource.Range("A2:A" & sLR).Value
   FindValues = wsTarget.Range("A2:A" & tLR).Value

    For i = LBound(FindValues) To UBound(FindValues)
            If Not IsError(Application.match(SearchValues(i, 1), wsTarget.Range("A2:A" & tLR), 0)) Then
                wsTarget.Rows(i + 1).Delete
          End If
    Next i
End Sub

1 个答案:

答案 0 :(得分:1)

将其更改为:

Sheets("YYY").Rows(i + 1).Delete

因为你的范围是以静态" 2"您不需要使用该范围来查找该行。