اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

السلام عليكم ورحمة الله وبركاته

اخواني الكرام في الملف المرفق كود للاستاذ هشام شلبي 

يقوم الكود بحذف الاسماء المتكررة 

ولكن يحذف المحتويات فقط وليس الاسطر المتكررة بالكامل 

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

ويقوم بحذف الاسطر المتكررة لهذه الاسم المتكرر وليس المحتويات فقط

ارجو ان تكون وضحت الفكرة

حذف المكرر.rar

  • تمت الإجابة
قام بنشر

جرب التعديل البسيط

Sub فحص()
    On Error Resume Next
    Set ww = Application.WorksheetFunction
    LastRow = Cells(Rows.Count, "B").End(xlUp).Row
    Application.ScreenUpdating = False
    Range("A6:A" & LastRow).ClearContents
    Range(Cells(6, 10), Cells(1000, 10)).ClearContents
    For R = 6 To LastRow
        If ww.CountIf(Range("B6:B" & R), Cells(R, 2).Value) > 1 Then
            Cells(1000, 10).End(xlUp).Offset(1, 0) = Cells(R, 2)
            Range(Cells(R, 2), Cells(R, 15)).EntireRow.Delete
        End If
    Next
    Range("B6:O1000").Sort [B5], xlAscending
    For N = 6 To LastRow
        If Cells(N, 2) <> "" Then
            Cells(N, 1) = Cells(N, 2).Row - 5
        End If
    Next
    Application.ScreenUpdating = True
    Cells(6, 10).Select
    On Error GoTo 0
End Sub

 

  • Like 1
قام بنشر

أخي وأستاذي ياسر جزاك الله كل خير 

عرفت أين وجد التعديل وشكراً

ولكن تم تنفيذ الطلب الاول فقط 

الطلب الثاني كما ذكرته في المشاركة حذف الاسم المكرر بناء على خلية معينة موجود فيها الاسم الذي نريد حذفه

شاهد الملف المرفق

فيه الشرح بالتفصيل

حذف المكرر بناء على خلية معينة.zip

قام بنشر

جرب الكود بهذا الشكل

Sub فحص()
    On Error Resume Next
    Set ww = Application.WorksheetFunction
    LastRow = Cells(Rows.Count, "B").End(xlUp).Row
    Application.ScreenUpdating = False
    Range("A6:A" & LastRow).ClearContents
    Range(Cells(6, 10), Cells(1000, 10)).ClearContents
    For R = LastRow To 6 Step -1
        If Cells(R, 2).Value = Range("H2").Value Then
            If ww.CountIf(Range("B6:B" & R), Cells(R, 2).Value) > 1 Then
                Cells(1000, 10).End(xlUp).Offset(1, 0) = Cells(R, 2)
                Range(Cells(R, 2), Cells(R, 15)).EntireRow.Delete
            End If
        End If
    Next
    Range("B6:O1000").Sort [B5], xlAscending
    For N = 6 To LastRow
        If Cells(N, 2) <> "" Then
            Cells(N, 1) = Cells(N, 2).Row - 5
        End If
    Next
    Application.ScreenUpdating = True
    Cells(6, 10).Select
    On Error GoTo 0
End Sub

 

  • Like 2
قام بنشر

ماشاء الله تبارك الله على هذا الابداع المتميز من صاحب فن وذوق رفيع

هذا هو المطلوب أخي ياسر مئة بالمئة 

بارك الله فيك وجزاك الله كل خير

وشكرأ

 

  • Like 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information