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

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

قام بنشر

أخي الكريم أخونا في الله (ولازم تقول اسمك .. إن شاء الله)

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

جرب في الملف المرفق بعد تغيير أسماء أوراق العمل .. ورقة العمل الأولى إلى Data وورقة4 إلى Result .. وزود البياناات إلى 10.000 صف مثلاً وجرب الكود الجميل الذي تفضلت به وجرب الكود التالي .. ولاحظ الفرق في التوقيت بالنسبة للتنفيذ

Sub Unique_Count_Sum()
    Dim Ws As Worksheet, Sh As Worksheet
    Dim Rng As Range, Cel As Range
    Dim LR As Long
    Dim Dic, a

    Set Ws = Sheets("Data"): Set Sh = Sheets("Result")
    LR = Ws.Cells(Rows.Count, "E").End(xlUp).Row

    Set Rng = Ws.Range("E2:E" & LR)
    Set Dic = CreateObject("Scripting.Dictionary")

    With Sh.Range("B9").CurrentRegion
        .ClearContents: .Borders.Value = 0
    End With

    On Error Resume Next
    For Each Cel In Rng
        If Cel <> 0 Then Dic.Add CStr(Cel), CStr(Cel)
    Next Cel
    a = Dic.Items

    Sh.Range("B9").Resize(Dic.Count) = Application.Transpose(a)

    With Sh.Range("C9").Resize(Dic.Count)
        .Formula = "=COUNTIF(Data!$E$2:$E$" & LR & ",B9)"
        .Offset(, 1).Formula = "=SUMIF(Data!$E$2:$E$" & LR & ",B9,Data!$F$2:$F$" & LR & ")"
        .Resize(, 2).Value = .Resize(, 2).Value
    End With

    Sh.Range("B9").CurrentRegion.Borders.Value = 1
End Sub

أعتذر عن تغيير أسماء أوراق العمل ..حيث يكون التعامل باللغتين معاً في كتابة الكود أصعب ، وأنا أبحث عن الأيسر لي دائماً .. وهذا ليس تقليلاً للغة العربية أبداً ..

 

* جزيت خيراً على الأسطر التي استفدت منها بخصوص عمل حدود للنطاق المستخدم ، استخدام بسيط ورائع

تقبل تحياتي

  • Like 2
قام بنشر

أخي الكريم راجع المعادلات وشوف رقم آخر صف مذكور في المعادلة

يعني على سبيل المثال في ورقة العمل المسماة "جدول تحليل" في الخلية C4 يوجد رقم الصف في 523 ، وإذا نظرت في الورقة 1 ستجد أن رقم آخر صف هو 943 ...

أعتقد أن هذه المشكلة لديك ..

لا تنسى بعد التعديل في المعادلة السابقة أن تضغط Ctrl + Shift + Enter لأنها معادلة صفيف

أما بقية المعادلات في ورقة العمل "جدول تحليل" ليست بصفيف ..

 

قام بنشر

السلام عليكم

اخي ابو البراء

فعلا الكود الذي قمت به في مشاركتي استغرق حوالي 50 ثانية بينما الكود الذي ادرجته في مشاركتك لم يستغرق سوى ثانيتين على الاكثر

لكن لا تنسى  اخي ابو البراء اننا قوم ألِفنا الانتظار في كل شيئ و في كل مكان ( في النقل ، في الادارات ، في المحلات ) أينما تتجه ستجد طابورا في انتظارك إشمعن الكود بتاعي حيكون شاذ عن هذه القاعدة :rol: كما أن  حلاوة الكود في الانتظار ، يعني شوف عندك واحد بيضغط على زر و في ثانية يجد النتائج بين يديه ، أكيد سيصاب بانهيار عصبي ، بينما لما تضغط على زر و تنتظر مدة معينة هذا سيعطيك الرصة و المجال لاستغلال هذه المدة في الذكر و الاستغفار :Rules: . فمن باب أولى أيهما أحسن الفوز بالذكر و النتائج معا ام انك تفضل النتائح فقط :biggrin:

تقبل فائق شكري و احترامي

  • Like 2
قام بنشر

وعليكم السلام أخي الحبيب أحمد (بحاول أخمن أي اسم لحد ما تقول اسمك)

أحسنت في تحليلك للموقف بالفعل الانتظار يمكن أن يفيد في استغلال الوقت في الذكر والاستغفار ..بس ممكن الكود يكون سريع وتخلص شغلك بسرعة وتلاقي نفسك عندك وقت فاضي .. فتقوم تستغله في الذكر والاستغفار وفي هذه الحالة لن تكون في حالة انتظار بل في حالة تفرغ للاستغفار مما يجعل قلبك غير مشغول بشيء آخر .. فمن باب أولى إننا نخلص شغلنا سريع سريع ونتفرغ للذكر فهذا أجدر وأولى

تقبل وافر تقديري واحترامي

  • Like 2
قام بنشر

بسم الله والصلاة والسلام على رسول الله وعلى آله وصحبه ومن والاه أما بعد:

السلام عليكم ورحمة الله وبركاته...أخي في الله /      / أبو أحمد بعد إذن أخينا الحبيب أبو البراء..

قال الله تعالى :((يا أيها الناس إنّا خلقناكم من ذكر وأنثى وجعلناكم شعوباً وقبائل لتعارفوا...))

وكما رأى أخونا أبو البراء منذ بداية انضمامي للمنتدى عرّفت عن نفسي محمد بن حسن بن محمد أبو يوسف..

لا ضير في ذلك ..علماً أنني لم أسمع عن أحد قال عن نفسه معرفاً (أخوكم في الله...ووقف عند ذلك الحد)..

نتشرف بأن لنا أخاً نحترمه ونقدره ونأخذ برأيه ولا نعرف اسمه...هذا من ناحية.

ومن ناحية أخرى فيما يخص الكود فإن الإنسان إذا انقضى من عمله وتفرغ لعبادته وذكره خير من أن يذكر أو يسبح وفي ذهنه شيء آخر ينتظره ويحسب له..

هذا رأيي ولا ألزم به أحداً سوى نفسي .والسلام عليكم ورحمة الله وبركاته.

أخوكم في الله محمد حسن المحمد أبو يوسف.

 

  • Like 2

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