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

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


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

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

الاساتذة الكرام 

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

ويشمل هذا جميع الصفحات من صفحة1 حتى اخر صفحة

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

2اصناف.rar

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

وعليكم السلام أخي الكريم حسين

هل المطلوب في جميع أوراق العمل أم أن هناك أوراق عمل أخرى مستثناة ..؟

وهل تريد الحل بالمعادلات أم بالاكواد .. لم تحدد الطريقة المطلوبة؟

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

السلام عليكم 

الف الف شكر لك استاذنا ابو البراء

المطلوب في جميع الاوراق بكود vba واقصد الاورق المسماة 1 و 2 و 3 و 4 و 5 والى اخره

نعم اخي هنا اوراق مستثاة قمت بحدفها من المرفق  

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

تحياتي

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

وعليكم السلام

جرب الكود التالي عله يفي بالغرض

Sub Test()
    Dim ws      As Worksheet
    Dim lr      As Long
    
    Application.ScreenUpdating = False
    For Each ws In ThisWorkbook.Worksheets(Array("1", "2", "3", "4", "5"))
        lr = LastRowNonZero(ws.Name, "J") - 1
        ws.Range("L2").Value = Application.WorksheetFunction.Sum(ws.Range("J4:J" & lr))
    Next ws
    Application.ScreenUpdating = True
End Sub

Public Function LastRowNonZero(ShtName As String, ColumnLetter As String) As Long
    Dim cel         As Range

    Set cel = Sheets(ShtName).Cells(Rows.Count, ColumnLetter).End(xlUp)
    Do While cel.Value <= 0 Or Not IsNumeric(cel)
        Set cel = cel.Offset(-1)
    Loop

    LastRowNonZero = cel.Row
End Function

 

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

38 دقائق مضت, ياسر خليل أبو البراء said:

وهذه معادلة أخرى تفي بالغرض إن شاء الله


=SUM(OFFSET($J$4,0,0,COUNTIF($J$4:$J$100,">0")-1,1))

 

اخي ياسر

خطرت على بالي معادلة Offset لكني لا أحبذها لانها كما تعرف Volatile

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

السلام عليكم

نعم استاذ حل الاكواد افضل ولكن الذي سيتعامل مع الملف لايعلم ان الكود مصمم ليعمل مع 5 صفحات فقط ان امكن تعديل الكود ليعمل ولو اضفنا صفحات اخر فهذا احسن

او تعديل المعادلة حسب الشرح في المرفق

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

3اصناف.rar

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

يمكن إضافة أوراق عمل كما تريد من خلال السطر الموضح في الحلقة التكرارية .. جملة Array .. والمعادلة تعمل حسب المرفق الأول .. سواء معادلة الأخ سليم أو المعادلة التي قدمتها

وأنا لا أعمل على أكثر من مرفق في الموضوع الواحد .. أعتذر إليك 

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

جرب هذا الكود

Option Explicit

Sub calcalate_last_minus_One()
Dim k%, Final_Row%, x%, i%, m#, s#
     With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
    End With
k = Sheets.Count
  For x = 1 To k
        m = 0: s = 0
    Final_Row = Sheets(x).Cells(Rows.Count, "J").End(3).Row
        For i = 4 To Final_Row
            If IsNumeric(Sheets(x).Range("j" & i)) And Sheets(x).Range("j" & i) <> 0 Then
                m = Range("j" & i).Value: s = s + m
            End If
        Next
        Sheets(x).Range("L2") = s - m
   Next
    With Application
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
    End With
End Sub

 

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

السلام عليكم 

اشكرك استاذ سليم حاصبيا  على ما قدمته و جزاك الله خيرا

نعم اخي هذا ما اريد بالظبط

بس فيه طلب بسيط وهو استثناء شيت "الرئيسية"و"طباعة"من عمل الكود

واعتدر منكم تعبتكم معي 

تحياتي

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

5 ساعات مضت, حسين مامون said:

السلام عليكم 

اشكرك استاذ سليم حاصبيا  على ما قدمته و جزاك الله خيرا

نعم اخي هذا ما اريد بالظبط

بس فيه طلب بسيط وهو استثناء شيت "الرئيسية"و"طباعة"من عمل الكود

واعتدر منكم تعبتكم معي 

تحياتي

ضع شيت "الرئيسية" في أول المصنف و "طباعة" قي اخره من حبث الترتيب

استبدل For x = 1 To k بـــــ     1-For x = 2 To k

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

أو قم بعملية الاستثناء بعد سطر الحلقة التكرارية 

For x = 1 To k

حيث يمكن أن تستخدم جملة الشرط IF وتقول إذا كانت ورقة العمل المتغيرة Sheets(x) لا تساوي كذا و (تستخدم And) لا تساوي كذا .. وأكمل .. و لاتنسى إغلاق جملة الشرط بجملة End IF

للمزيد 

 

  • 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