此子函数清除两列之间的重复行。
如果它在列F和G中找到新的对,它将在整个F和G中清除该对。
我正在尝试清除直接低于原始值的值。
我尝试在清除重复项后进行重置,这样它就不会清除不直接低于原始值的值。
Sub clearDups1()
Dim lngMyRow As Long
Dim lngMyCol As Long
Dim lngLastRow As Long
Dim objMyUniqueData As Object
Application.ScreenUpdating = False
lngLastRow = Range("F:G").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).row
Set objMyUniqueData = CreateObject("Scripting.Dictionary")
For lngMyRow = 1 To lngLastRow 'Assumes the data starts at row 1. Change to suit if necessary.
If objMyUniqueData.Exists(CStr(Cells(lngMyRow, 6) & Cells(lngMyRow, 7))) = False Then
objMyUniqueData.Add CStr(Cells(lngMyRow, 6) & Cells(lngMyRow, 7)), Cells(lngMyRow, 6) & Cells(lngMyRow, 7)
Else
Range(Cells(lngMyRow, 6), Cells(lngMyRow, 7)).ClearContents
End If
Next lngMyRow
Set objMyUniqueData = Nothing
Application.ScreenUpdating = True
End Sub
任何意见都欢迎。
2条答案
按热度按时间k3bvogb11#
你不需要一本字典:
jslywgbw2#
你也可以试试这个代码,它能完成你的要求。
1.保留第一次发生的相同重复
1.从底部开始删除它们,并留下最后,在我们的情况下将是原始的
使用上述方法你可以达到你所要求的。