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

كود لحذف التكرار


seddiki_adz
إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

قم بادراج ورقة وتسميهتا Salim  (أو قم بتسمية اي ورقة فارغة  Salim)

ثم نفذ هذا الكود (و ترى النتيجة في شيت Salim)

Option Explicit

Sub REMOVE_DUPL()


  Sheets("Salim").Range("a1").CurrentRegion.Clear
  Sheets("Feuil1").Range("a1").CurrentRegion.Copy _
  Sheets("Salim").Range("a1")
  Sheets("Salim").Range("a3").CurrentRegion.RemoveDuplicates _
  Columns:=Array(2, 6, 7, 8, 9, 10 _
        , 11, 12, 13, 14, 15), Header:=1
   Application.CutCopyMode = False
End Sub

الملف مرفق

Classeur32_A.xlsm

  • Like 1
رابط هذا التعليق
شارك

ارجو شرح الكود لاستطيع معالجة الامر

الكود ليس به خطأ في الصفة salim به كود لحذف التكرار  والصفحة 2 للترحيل من الصفحة 1 عندما أنفذ  كود سليم لا ينفذ لا أعرف أين الخلل الذي ارتكبت والملف  موجود الملف المضغوط

archive.zip

رابط هذا التعليق
شارك

اخي الفاضل

 

ملف الاستاذ سليم الاصلي يعمل جيدا وليس به اي مشكلة وكانت الصفحة الرئيسية ليس بها معادلات 

ملفك الحالي الصفحة  الرئيسية اضفت انت  اليها معادلات صفيف وغيرها

 الكود قام بنسخ البيانات من الصفحة الرئيسية بالمعادلات ورحلهاالى صفحةsalim  

طبعا المعادلات مرتبطة بخلايا منها  اسم المؤسسة وغيرها

لذلك لن تجد اي بيانات  في صفحة سليم

هذا تفسيري  والله اعلم

ولكن محاولة منى حتى يقوم الاستاذ سليم بالتعديل المناسب

Classeur3.xls

 

  • Thanks 1
رابط هذا التعليق
شارك

  • أفضل إجابة

لجعل الكود اسرع بحوالي 50 مرة

1-عملية Select  تأخذ وقتاً طويلاً لذلك في اي كود يجب ان نتغاضى عنها قدر الامكان

2-استعمال  With و End With مهمة جداً لتسريع اي كود

3-اعادة الحساب مع كل خلية تأخذ وقتاَ ايضاُ لذلك تم استعمال Calculation =Manual ليوقف البرنامج

    جميع العمليات الحسابية  ريثما ينتهي الكود من عمله

4- اعادة Calculation  الى Automatic بعد انتهاء الكود

 

Option Explicit

Sub REMOVE_DUPL_NEW()
    Dim S As Worksheet:     Set S = Sheets("salim")
    Dim F2 As Worksheet:    Set F2 = Sheets("Feuil2")
    
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
 
    With S
        .Range("A1") = F2.Range("a1")
        .Range("a3").CurrentRegion.Clear
         F2.Range("a3").CurrentRegion.Copy _
         S.Range("a3")
        .Range("a3").CurrentRegion.Value = _
        .Range("a3").CurrentRegion.Value
        .Range("a3").CurrentRegion.RemoveDuplicates _
         Columns:=Array(2, 6, 7, 8, 9, 10 _
              , 11, 12, 13, 14, 15), Header:=1
  End With
    
    With Application
        .CutCopyMode = False
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
    End With
    Set S = Nothing: Set F2 = Nothing
End Sub

الملف مرفق

Classeur3_salim.xlsm

  • Thanks 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information