تخيل أني فتحت المنتدى لأضع الرد على سؤالك .. ففوجئت بك تذكرني به،
على كل حال الكود التالي ينفذ ما طلبته .. مع ملاحظة أنه مرتبط بالكود السابق وكلاهما يعمل بضغطه زر واحدة وعلى نفس ورقة العمل أو على ورقة عمل أخرى.
Sub Duplicated()
Set MyRange1 = [K16:K22]
Set MyRange2 = [H16:H22]
[H16:I22,K16:L22].ClearContents
For R = 3 To 9
If Application.WorksheetFunction.CountIf([E3:E9], Cells(R, 5)) > 1 Then
With Columns(8).Rows(65536).End(xlUp)
.Offset(1, 0) = Cells(R, 5)
.Offset(1, 1) = Cells(R, 6)
End With
End If
Next
For R = 3 To 9
If Application.WorksheetFunction.CountIf([B3:B9], Cells(R, 2)) > 1 Then
With Columns(11).Rows(65536).End(xlUp)
.Offset(1, 0) = Cells(R, 2)
.Offset(1, 1) = Cells(R, 3)
End With
End If
Next
For Each Cell In MyRange1
A = Application.WorksheetFunction.CountIf([B3:B9], Cell)
B = Application.WorksheetFunction.CountIf([E3:E9], Cell)
C = A - B
If Application.WorksheetFunction.CountIf(MyRange1, Cell) > C Then
Cell.ClearContents
Cells(Cell.Row, Cell.Column + 1).ClearContents
End If
Next
For Each Cell In MyRange2
A = Application.WorksheetFunction.CountIf([B3:B9], Cell)
B = Application.WorksheetFunction.CountIf([E3:E9], Cell)
C = B - A
If Application.WorksheetFunction.CountIf(MyRange2, Cell) > C Then
Cell.ClearContents
Cells(Cell.Row, Cell.Column + 1).ClearContents
End If
Next
[H16:I22].Sort [H16], xlAscending
[K16:L22].Sort [K16], xlAscending
End Sub
شاهد المرفق،
________________________________2.rar