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

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

قام بنشر

الرجاء تحويل المعطيات نفس ورقة العمل المعطياات موجودة اسفل الجدول الى الجدول كل شيء موضح بالالوان

شكرا لكم مسبقا

TADJERIB.rar

قام بنشر

يوجد معلومات اريد ملؤها في الجدول

بحيث فطور الصباح ينقل لخانة فطور الصباح والخانة الدلائلية هي E117

ص يعني الصباح

غ يعني الغداء

ع يعني العشاء

م هي المواد المشتركة بين الغداء والعشاء يعني تتواجد في خانة العشاء وتتواجد في نفس الوقت في الغداء.

قام بنشر

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

Sub Test()
    Dim arr     As Variant
    Dim arBr    As Variant
    Dim arLu    As Variant
    Dim arDi    As Variant
    Dim i       As Long
    Dim j       As Long
    Dim b       As Long
    Dim l       As Long
    Dim d       As Long

    arr = Range("A117:E" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    ReDim arBr(1 To UBound(arr, 1), 1 To UBound(arr, 2) - 1)
    ReDim arLu(1 To UBound(arr, 1), 1 To UBound(arr, 2) - 1)
    ReDim arDi(1 To UBound(arr, 1), 1 To UBound(arr, 2) - 1)

    For i = 1 To UBound(arr, 1)
        If arr(i, 5) = "ص" Then
            b = b + 1
            For j = 1 To 3
                arBr(b, j) = arr(i, j)
            Next j
            arBr(b, 4) = arBr(b, 2) * arBr(b, 3)
        ElseIf arr(i, 5) = "غ" Then
            l = l + 1
            For j = 1 To 3
                arLu(l, j) = arr(i, j)
            Next j
            arLu(l, 4) = arLu(l, 2) * arLu(l, 3)
        ElseIf arr(i, 5) = "ع" Then
            d = d + 1
            For j = 1 To 3
                arDi(d, j) = arr(i, j)
            Next j
            arDi(d, 4) = arDi(d, 2) * arDi(d, 3)
        ElseIf arr(i, 5) = "م" Then
            l = l + 1
            d = d + 1
            For j = 1 To 3
                arLu(l, j) = arr(i, j)
                arDi(d, j) = arr(i, j)
            Next j
            arLu(l, 4) = arLu(l, 2) * arLu(l, 3)
            arDi(d, 4) = arDi(d, 2) * arDi(d, 3)
        End If
    Next i

    Range("B16").Resize(b, UBound(arBr, 2)).Value = arBr
    Range("B26").Resize(l, UBound(arLu, 2)).Value = arLu
    Range("B67").Resize(d, UBound(arDi, 2)).Value = arDi
End Sub

 

  • Like 1
قام بنشر (معدل)

استاذ ياسر خليك بارك الله فيك على العمل. اريد تعميم العمل الذي قمت به على الملف المرفق الاخير ان امكن مع اضافة شرط واحد فقط المواد المشتركة بين الغداء والعشاء تكون مناصفة. بمعنى قيمة المواد المشتركة تقسم بالتساوي بين الغداء والعشاء او بنسبة 2/3 للغداء و1/3 للعشاء الرجاء مساعدتي جزاك الله عنا خير الجزاء.

تم تعديل بواسطه aboud424
قام بنشر

يتعذر العمل على الجهاز بشكل كامل الآن .. إن شاء الله إذا لم يتدخل أحد الأخوة سأحاول العمل عليه ليلاً أو غداً إن شاء الله

وأريد توضيح بمثال لشرط المناصفة لتتضح الصورة ..

  • Like 1
قام بنشر (معدل)

مثال عن ذلك البطاطا

في 1 mai قيمتها بطاطا = 3كلغ وهي من المواد المشتركة

فترة الغداء دائما تاخد اكبر كمية من المساء بمعنى

الغداء قيمة البطاطا فيه = 2 كلغ

بينما الباقي ياخذه العشاء = 1كلغ

مثال اخر

في 2 mai

قيمة مادة مشتركة اللحم = 1.5 كلغ   =====>  الغداء =1كلغ

                                                 |======>العشاء =0.5كلغ وهي الاقيمة المتبقية

 

 

باركة الله فيك اخي الكريم تحياتي

تم تعديل بواسطه aboud424
  • أفضل إجابة
قام بنشر

جرب التعديل التالي عله يفي بالغرض (ويرجى فيما بعد حين تطرح موضوع أن ترفق الملف الأصلي أو ملف معبر عنه تماماً لكي يسير العمل بشكل منتظم وكما هو مطلوب ومتوقع)

Sub Test()
    Dim arr     As Variant
    Dim arBr    As Variant
    Dim arLu    As Variant
    Dim arDi    As Variant
    Dim i       As Long
    Dim j       As Long
    Dim b       As Long
    Dim l       As Long
    Dim d       As Long

    arr = Range("A116:E" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    ReDim arBr(1 To UBound(arr, 1), 1 To UBound(arr, 2) - 1)
    ReDim arLu(1 To UBound(arr, 1), 1 To UBound(arr, 2) - 1)
    ReDim arDi(1 To UBound(arr, 1), 1 To UBound(arr, 2) - 1)

    For i = 1 To UBound(arr, 1)
        If arr(i, 4) = "ص" Then
            b = b + 1
            For j = 1 To 3
                arBr(b, j) = arr(i, j)
            Next j
            arBr(b, 4) = arBr(b, 2) * arBr(b, 3)
        ElseIf arr(i, 4) = "غ" Then
            l = l + 1
            For j = 1 To 3
                arLu(l, j) = arr(i, j)
            Next j
            arLu(l, 4) = arLu(l, 2) * arLu(l, 3)
        ElseIf arr(i, 4) = "ع" Then
            d = d + 1
            For j = 1 To 3
                arDi(d, j) = arr(i, j)
            Next j
            arDi(d, 4) = arDi(d, 2) * arDi(d, 3)
        ElseIf arr(i, 4) = "م" Then
            l = l + 1
            d = d + 1
            For j = 1 To 3
                arLu(l, j) = arr(i, j)
                arDi(d, j) = arr(i, j)
            Next j
            arLu(l, 2) = Application.WorksheetFunction.Round(arLu(l, 2) * 2 / 3, 2)
            arDi(d, 2) = Application.WorksheetFunction.Round(arDi(d, 2) * 1 / 3, 2)
            arLu(l, 4) = arLu(l, 2) * arLu(l, 3)
            arDi(d, 4) = arDi(d, 2) * arDi(d, 3)
        End If
    Next i

    Range("B15").Resize(b, UBound(arBr, 2)).Value = arBr
    Range("B24").Resize(l, UBound(arLu, 2)).Value = arLu
    Range("B65").Resize(d, UBound(arDi, 2)).Value = arDi
End Sub

 

  • Like 2
قام بنشر

أخي الكريم .. اطلعت على الكود في ملفك ووجدت أنك لم تقم بعملية نسخ الكود بشكل صحيح .. 

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

ملحوظة أخرى يفضل إدراج موديول جديد ووضع الكود فيه وليس وضعه في حدث ورقة العمل 

جرب مرة أخرى وأعملني بالنتيجة

  • Like 1
قام بنشر

السلاام عليك استاذ ياسر خليل . بارك الله فيك هذا هو المطلوب . وفيت وكفيت ربي يجعلها في ميزان حسناتك. كان شرف لي التعامل معكم.

  • 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