查询工作表1AB列与工作表2A B列是否相同,相同的不删除行。不相同的删除。现在想在C列添加数据,AB列相同的情况下,C列对应的单元格等于空才删除。 达到效果后,代码只删除第四行。因为第二行有跟工作表相同,第三行因为C列值不是空,所以这两行保留了。只有第四行,数据不相同,并且C列值又是空,所以删除。求大神必需修改。 - Sub 宏1()
- Dim arr, i&, d As Object
- Set d = CreateObject("scripting.dictionary")
- arr = Sheets("Sheet2").Range("A1").CurrentRegion
- For i = 2 To UBound(arr)
- d(arr(i, 1) & arr(i, 2)) = ""
- Next
- With Sheets("Sheet1")
- arr = .Range("A1").CurrentRegion
- For i = UBound(arr) To 2 Step -1
- If Not d.Exists(arr(i, 1) & arr(i, 2)) Then
- If d(arr(i, 3)) = "" Then .Rows(i).Delete
- End If
- Next
- End With
- End Sub
复制代码
查询工作表1AB列与工作表2A B列是否相同,相同的不删除行。不相同的删除。现在想在C列添加数据,AB列相同的情况下,C列对应的单元格等于空才删除。
达到效果后,代码只删除第四行。因为第二行有跟工作表相同,第三行因为C列值不是空,所以这两行保留了。只有第四行,数据不相同,并且C列值又是空,所以删除。求大神必需修改。
|