اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
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

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