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

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


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

المرفق السابق يالمعادلات

وهذا الكود لنفس الغرض


Sub Abu_Ahmed()

[F4:F300].ClearContents

Dim cl As Range

For Each cl In Range("G4:G" & [G15000].End(xlUp).Row)

x = cl.Row

Set myrng = Range("G4:G" & x)

If Application.WorksheetFunction.CountIf(myrng, cl.Value) = 1 Then

Cells([F15000].End(xlUp).Row + 1, 6).Value = cl.Value

End If

Next

End Sub

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

قائمة result

التى أنشأنا بها الدالة

ولكن أريد الدالة نفسها أن تقوم بحذف المكرر من القائمة وترتيبها أبجدياً

الشيئين معاً

وشكرا

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

إستخدم هذا الكود لحذف مكرر عمود G


Public Sub DE_TQRAR()

ActiveSheet.Range("G4:G" & Range("G" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes

End Sub

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

انظر هذه الدالة من عمل الأستاذ يحيى حسين :

جزاه الله كل خير

ضع المعادلة فى خلية F4 ولا تنسى الضغط على Ctrl+Shift+Enter


=INDEX($G$4:$G$12,MATCH(0,COUNTIF($G$4:$G$12,"<"&$G$4:$G$12)-SUM(COUNTIF($G$4:$G$12,"="&$F$3:F3)),0)

هذه الدالة تقوم بالمطلوب (تحذف المكرر وترتب القائمة أبجديا )

ولكنها تغفل آخر عنصر فى القائمة لا تذكره أبداً

هل يمكن حل تلك المشكلة

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

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

أخي جرب الدالة التالية


=INDEX($G$4:$G$13,MATCH(0,COUNTIF($G$4:$G$12,"<"&$G$4:$G$12)-SUM(COUNTIF($G$4:$G$12,$F$3:F4)),0))

و هي معادلة صفيف يجب الضغط على

ctrl+Shift+Enter

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

شكرا جزيلا يا ملك المعادلات

حل رائع جدا جدا جدا جدا

جدا جدا جدا جدا جدا جدا جدا جدا

جدا جدا جدا جدا

شكرا

تمت الاجابة

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

انظر هذه الدالة من عمل الأستاذ يحيى حسين :

جزاه الله كل خير

ضع المعادلة فى خلية F4 ولا تنسى الضغط على Ctrl+Shift+Enter


=INDEX($G$4:$G$12,MATCH(0,COUNTIF($G$4:$G$12,"<"&$G$4:$G$12)-SUM(COUNTIF($G$4:$G$12,"="&$F$3:F3)),0)

هذه الدالة تقوم بالمطلوب (تحذف المكرر وترتب القائمة أبجديا )

ولكنها تغفل آخر عنصر فى القائمة لا تذكره أبداً

هل يمكن حل تلك المشكلة

ما دام هذه الدالة موجود لديك من قبل

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

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

انظر هذه الدالة من عمل الأستاذ يحيى حسين :

جزاه الله كل خير

ضع المعادلة فى خلية F4 ولا تنسى الضغط على Ctrl+Shift+Enter


=INDEX($G$4:$G$12,MATCH(0,COUNTIF($G$4:$G$12,"<"&$G$4:$G$12)-SUM(COUNTIF($G$4:$G$12,"="&$F$3:F3)),0)

هذه الدالة تقوم بالمطلوب (تحذف المكرر وترتب القائمة أبجديا )

ولكنها تغفل آخر عنصر فى القائمة لا تذكره أبداً

هل يمكن حل تلك المشكلة

ما دام هذه الدالة موجود لديك من قبل

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

السلام عليكم

أخي الزير للتوضيح

الأخ السائل

وضع الموضع في المنتديين هنا و في موقعي

http://excel4us.com/vb/showthread.php?t=2227

و قمت بإجابته في موقعي

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

انما كان سطر مخفي في ملفه

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

أرجو ان تكون قد إتضحت الصورة

دمتم في حفظ الله

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

  • 5 years later...

 

Sheets("sheet1").Select
Range("v4:b" & Cells(Rows.Count, "b").End(xlUp).Row).Select
ActiveSheet.Range("v4:b" & Cells(Rows.Count, "b").End(xlUp).Row + 1).RemoveDuplicates Columns:=Array(1, 2, 3, 4), _
      Header:=xlNo
  

'=======================================================

 
    Range("v4:b" & Cells(Rows.Count, "b").End(xlUp).Row).Select
    ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add Key:=Range("d4:d" & Cells(Rows.Count, "d").End(xlUp).Row) _
         , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add Key:=Range("b4:b" & Cells(Rows.Count, "b").End(xlUp).Row) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add Key:=Range("c4:c" & Cells(Rows.Count, "c").End(xlUp).Row) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add Key:=Range("e4:e" & Cells(Rows.Count, "e").End(xlUp).Row) _
       , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add Key:=Range("s4:s" & Cells(Rows.Count, "s").End(xlUp).Row) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add Key:=Range("t4:t" & Cells(Rows.Count, "t").End(xlUp).Row) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("sheet1").Sort
       .SetRange Range("B4:V10000")
       .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
    Range("B4").Select
      

تم تعديل بواسطه ابو مالك ابرش
رابط هذا التعليق
شارك

في ١٠‏/١٢‏/٢٠١١ at 13:26, الـعيدروس said:

إستخدم هذا الكود لحذف مكرر عمود G


Public Sub DE_TQRAR()

ActiveSheet.Range("G4:G" & Range("G" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes

End Sub

 

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

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

بسيطة أخي ناصر ..

قم بإضافة سطر ينسخ العمود إلى ورقة العمل المطلوبة ثم أضف سطر حذف التكرار (يمكن تسجيل ماكرو بعملية النسخ)

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

Sub نسخ()
'
    Sheets("Sheet1").Select
    Range("D7:D150").Select
    Selection.Copy
    Sheets("Sheet4").Select
        Range("F6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("F7").Select
End Sub

هل يمكن ان يخف عن كده يا استاذ ياسر ؟

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

نعم أخي ناصر .. تسجيل الماكرو يسجل التحديد وهو غير مطلوب في التعامل مع الأكواد حيث يسبب بطء شديد

جرب التالي 

Sub نسخ()
    Sheets("Sheet1").Range("D7:D150").Copy
    Sheets("Sheet4").Range("F6").PasteSpecial Paste:=xlPasteValues
End Sub

 

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

'Public Sub DE_TQRAR()
Sub نسخ()
    Sheets("Sheet1").Range("D7:D150").Copy
    Sheets("Sheet4").Range("G7").PasteSpecial Paste:=xlPasteValues
ActiveSheet.Range("G7:G" & Range("G" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes

End Sub

هل يوجد اي تعديل حفظك الله  ؟ استاذ ياسر

ما الفرق بين ال SUB  و  Public

    [G7:G500].Sort [G7], xlAscending

اين اضع هذا السطر ؟

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

لا يوجد فرق بين Sub و Public .. لكن الأمر يختلف إذا تم استخدام كلمة Private .. فهذا يعني أن اسم الماكرو لن يظهر في قائمة أسماء الماكرو عند الضغط على Alt + F8 ..

أعتقد سطر الترتيب في النهاية بعد حذف التكرار ..

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


Sub قيم_فريده_مرتبة()
    Sheets("Sheet1").Range("D7:D150").Copy
    Sheets("Sheet4").Range("H7").PasteSpecial Paste:=xlPasteValues
ActiveSheet.Range("H7:H" & Range("H" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
 [H7:H500].Sort [H7], xlAscending
End Sub

ربنا يبارك في النافع .. يارب

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

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

Sub قيم_فريده_مرتبة()
    Sheets("Sheet1").Range("D7:D150").Copy
    Sheets("Sheet4").Range("H7").PasteSpecial Paste:=xlPasteFormats
    
ActiveSheet.Range("H7:H" & Range("H" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
 [H7:H500].Sort [H7], xlAscending
End Sub
xlPasteFormats

هذه هي نقطه التغيير

  • 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