下面提到的代码用于从 Sheet1 中删除行,这些行在 A 列中的数字不在 sheet2 的 A 列中。
问题:
当它能够匹配数字时,它可以正常工作,即不删除,但当它无法匹配数字时(即 Sheet1 的列 A 的单元格说 A11(对于第 11 行)有 '123',但它不在工作表 2 的 A 列中)它正在删除该行,但在这种情况下它不适用于下一行第 12 行,因此如果 Sheet1 的 A12 有 123(非匹配编号),则它不会被删除。
Sub Matching()
Dim S1 As Worksheet, S2 As Worksheet, a As Range
Set S1 = Sheets("Sheet1")
Set S2 = Sheets("Sheet2")
For Each a In S1.Range("A1:A1000")
n = Application.Match(a.Value, S2.Range("A1:A25"), 0)
If IsError(n) Then
a.EntireRow.Delete
End If
Next
End Sub