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

دالة جمع فرعى لنطاق متغير


إذهب إلى أفضل إجابة Solved by ياسر خليل أبو البراء,

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

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

 

عندى ملف مرتبات فيه حوالى 300 عمود و فى نهاية الملف صف اجمالى دالة subtotal

الملف متغير بشكل كبير بحيث من وقت الى اخر يتم اضافة صفوف لموظفين جدد

و فى هذه الحالة اضطر الى تغيير معادلة ال subtotal  لتحتوى الصف المضاف و اشدها على ال 300 عمود

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

و عذرا للاطالة 

دالة جمع فرعى لنطاق متغير.rar

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

  • أفضل إجابة

أخي الحبيب صلاح الصغير

الموضوع أصغر مما تتخيل وأبسط مما تتخيل ..

ضع المعادلة التالية في الخلية C13

=SUBTOTAL(9,C2:OFFSET(C14,-2,0))

بس خلاص

جرب تدرج صفوف براحتك يا كبير !!

 

شرح المعادلة :

------------

المعادلة زي ما إنت كاتبها .. شوف اللي اتغير !! وصلت تمام الحمد لله انتهى الشرح :yes:

اللي اتغير بدل ما أحدد نهاية النطاق أخلي الإكسيل هو اللي يحدده ودا باستخدام الدالة Offset اللي بيسموها (دالة الإزاحة)

الإزاحة بتبدأ منين من الخلية اللي تحت الخلية اللي بكتب فيها المعادلة

وعدد صفوف الإزاحة صفين لفوق .. يعني اطلع صفين لفوق عشان كدا تلاقي الرقم بالسالب

وعدد أعمدة الإزاحة صفر لأننا بنعمل إزاحة في نفس ذات العمود

 

لا تنسى أن تحدد الإجابة كأفضل إجابة ليظهر الموضوع مجاب ومنتهي ..

:welcomeani:

تقبل تحياتي :fff: :fff: :fff:

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

سبقتني بدقيقة يا أخي الحبيب سليم

دايماً سابقني .. بس العبد لله يفوز بيها :yes:  لأني علمته إزاي يصطاد مش ياكل السمكة ويجري :jump:

تقبل تحياتي أخي في الله سليم :welcomeani:

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

أخي في الله وحبيبي سليم

عجبني الكود فقمت بشرحه بعد إذنك طبعاً لتعم الفائدة ويكثر الصيادين

Sub SumInLastRow()
'يقوم الكود بجمع القيم في أي عدد من الأعمدة وتظهر النتائج في آخر صف
'-----------------------------------------------------------------
'تعريف المتغيرات
    Dim lRow As Long, I As Long, SumValue As Double
    Dim Rng As Range
'تحديد آخر خلية فارغة تلي آخر خلية بها بيانات في النطاق المستخدم
    lRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
'مسح تنسيقات النطاق المستخدم
    ActiveSheet.UsedRange.ClearFormats
'حلقة تكرارية في أعمدة النطاق المستخدم
    For I = 1 To ActiveSheet.UsedRange.Columns.Count
'تعيين النطاق الذي سيتم جمع قيمه
        Set Rng = Range(Cells(1, I), Cells(lRow - 1, I))
'تعيين قيمة مجموع نطاق العمود الحالي
        SumValue = Application.WorksheetFunction.Sum(Rng)
'وضع قيمة المجموع في كل عمود من الأعمدة للنطاق المستخدم
        Cells(lRow, I) = SumValue
'الانتقال للعمود التالي
    Next
'تلوين النطاق الذي يظهر فيه المجموع
    Range(Cells(lRow, 1), Cells(lRow, ActiveSheet.UsedRange.Columns.Count)).Interior.ColorIndex = 6
End Sub

تقبلوا تحيات أخوكم الصياد ياسر خليل (صاحب أكبر شادر سمك فيكي يا مصر .. :yes: )

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

ما تزعلش اخي ياسر هذا كود اخر (او بالاحرى كودين)

واحد يجمع الصفوف الظاهرة  و الثاني يجمع الاعمدة الظاهرة

الكود الثاني موقف حاليا (يمكن تشعيله بازالة الفواصل منه)

 

 

SUBTOTAL row.rar

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

ا / سليم

ا / ياسر

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

و لكن معادلة الاستاذ / ياسر هى المطلوبة و دى من عجايب الدالة offset  لو تفتكر يا استاذ ياسر

كنت طلبت ملف مجمع لاستخدامات هذه الدالة

و مبروك عليك شادر السمك و يا ترى السمك عندك ارخص من البامية و لا مولع نار برده

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

أخي الفاضل صلاح

لسه فاكر ترد .. من إمبارح !! أنا كنت نسيت الموضوع

المهم الحمد لله أن تم المطلوب على خير .. ومشكور على تحديدك لأفضل إجابة وعلى أعجبني ..منتحرمش منك

 

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

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

و الله يا ابو اليسر يا اخويا

اخوك بينام بدرى شوية مش بدرى قوى يعنى بس زى ما تقول كده على الساعة 11 لازم اكون فى السرير

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

غير كده النت بعيد عنك بقى حالة غريبة زى كل حاجة فى البلد

اما بالنسبة للبامية، العجيبة انى مبحبهاش بس سمعت انها بـ 12 جنيه باين

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

الأخ الكريم صلاح

كويس إنك بتنام بدري دي عادة طيبة

وعلى رأي الشاعر اللي بيقول :

من نام بدري وصحا بدري .. صار طبيباً ولا يدري

 

فيا دكتور صلاح دي عادة طيبة ..وربنا يعينك في شغلك

البامية عندنا إحنا بـ 17 جنيه مين يزود ؟؟! أهم من البامية في المرحلة القادمة هو البتيــــــــــــــــــــــــخ عشان الصيف طالع والبتيـــــــــــــخ بيطري على الواحد في الحر ..مش كفاية ولعة الأسعار وبس

دا هيبقا فيه ولعة أسعار وولعة من الحر وولعة من الأفلام الهابطة اللي ملت الساحة وولعة دا لقب واحد صاحبي معرفوش

تقبل تحياتي

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

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

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



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

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

Important Information