【发布时间】:2022-07-11 17:23:35
【问题描述】:
我的代码可以删除两个 Excel 工作表之间的重复行。
如何设置宏的范围以删除 A 下方行中的重复项,或者不删除 A 行?
Public Sub RemoveDuplicateRows()
Dim ur1 As Range, ur2 As Range, dupeRows As Range
Dim r1 As Range, s1 As String, r2 As Range, s2 As String
Set ur1 = Worksheets("AM DATA").UsedRange.Rows
Set ur2 = Worksheets("PM DATA").UsedRange.Rows 'Find duplicates from AM data in PM DATA
Set dupeRows = ur2(Worksheets("PM DATA").UsedRange.Rows.Count + 1)
For Each r1 In ur1
s1 = Join(Application.Transpose(Application.Transpose(r1)))
For Each r2 In ur2
s2 = Join(Application.Transpose(Application.Transpose(r2)))
If s1 = s2 Then
If Intersect(dupeRows, r2) Is Nothing Then
Set dupeRows = Union(dupeRows, r2)
End If
End If
Next
Next
'Delete duplicate rows in PM DATA
Application.ScreenUpdating = False
Set wb = ThisWorkbook
dupeRows.EntireRow.Delete
Application.ScreenUpdating = True
End Sub
【问题讨论】: