اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم

اخواني الكرام

لدي الكود التالي وهو يعمل على اكمل وجه بحيث يتم حذف التكرار ( يقوم بالاحتفاظ بالمدخلات القديمة ويحذف المتكرر من المدخلات الجديدة اوالصفوف الاخيرة )

 

طلبي هو اريد ان اعكس الكود بحيث يقوم بحذف المتكرر ( الاحتفاظ بالمدخلات الجديدة وحذف المتكرر منها في اول السطور (المدخلات القديمة ).

 

Sub duplicate_AWB()
LR = [m400].End(xlUp).Row
For r = LR To 4 Step -1
    x = Cells(r, 13).Value
    If WorksheetFunction.CountIf(Range("m4:m" & LR), x) > 1 Then
        Cells(r, 3).Offset("0,0").Resize(1, 25).ClearContents
        End If
Next r


End Sub

قام بنشر

كيف يميز الكود بين المدخلات القديمة والجديدة؟؟؟

عند لصف المدخلات الجديدة يتم التعرف على المتكرر عن طريق العمود M والذي يحتوي على رقم المرجع ، تنبيه باللون الازرق الداكن يظهر في العمود A للمدخلات المتكررة ، بالمرفقات الملف الذي اعمل عليه ، عند فتح الملف ستجد تنبيه ل8 صفوف فيها تكرار ، 4 مدخلات قديمة و4 مدخلات جديدة بالاسفل لاكنها متكررة ، يوجد زر remove duplicate بالاعلي وعند الضغط عليه سوف يطبق الكود التالي ، الكود سوف يحذف المتكرر الجديد اي من الاسفل الي الاعلي ، المطلوب زر اخر يعمل نفس الوظيفة لاكن يحذف المتكرر من الاعلي الي الاسفل وبدون فرز .لعدم خبرتي لم استطلع التعديل على الكود لكي يقوم بحذف المتكرر من الاعلي الي الاسفل .

 

Sub duplicate_AWB()

LR = [m400].End(xlUp).Row

For r = LR To 4 Step -1

    x = Cells(r, 13).Value

    If WorksheetFunction.CountIf(Range("m4:m" & LR), x) > 1 Then

        Cells(r, 3).Offset("0,0").Resize(1, 25).ClearContents

        End If

Next r

Test.rar

  • أفضل إجابة
قام بنشر

السلام عليكم

 

ممكن هذا التعديل الطفيف

وهو تعديل فورنكست لتبدأ من الاعلى الى الاسفل

Sub duplicate_AWB()
lr = [m400].End(xlUp).Row
For r = 4 To lr
    x = Cells(r, 13).Value
    If WorksheetFunction.CountIf(Range("m4:m" & lr), x) > 1 Then
        Cells(r, 3).Resize(1, 25).ClearContents
    End If
Next r
End Sub

تحياتي

قام بنشر

السلام عليكم

 

ممكن هذا التعديل الطفيف

وهو تعديل فورنكست لتبدأ من الاعلى الى الاسفل

Sub duplicate_AWB()
lr = [m400].End(xlUp).Row
For r = 4 To lr
    x = Cells(r, 13).Value
    If WorksheetFunction.CountIf(Range("m4:m" & lr), x) > 1 Then
        Cells(r, 3).Resize(1, 25).ClearContents
    End If
Next r
End Sub

تحياتي

 

الف شكر وبالفعل هذا هو المطلوب ، اشكر لك مساعدتك.

 

 

السلام عليكم 

اخي الكريم

اليك هذا الكود /تستطيع ان تعدل عليه بالنسبة لعدد الأعمدة والبيانات

 

 

الشكر الجزيل لك على الرد والمساعدة.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information