اشجان بسيوني قام بنشر فبراير 27 قام بنشر فبراير 27 السلام عليكم ورحمة الله وبركاته الساده الأعزاء المطلوب المساعده في هذا الامر والمطلوب في هذا الشيت للخلية G3 اريدها في حال تم ادخال اي قيمة في الخلية F3 ان يتم تلقائيا خصم الرقم للقيمة المدخله وانقاصها من قيمة الخلية G3 ثم مسح او تفريغ محتوى الخلية F3 للتوضيح لنفترض ان قيمة G3 كما هو الان 300 المطلوب في حال ادخال اي قيمة او اي عدد في الخلية F3 ان يتم انقاصه من قيم الخلية G3 ـــ الامر الثاني وهو بالعكس للامر السابق وللتوضيح اكثر . المطلوب ايضاً الخليه E3 حيث وهي تستمد قيمتها من ورقة1 وهي قابله للزياده في دائماً . لنفترض كالمثال الحالي لقيمة الخلية E3 وقيمتها الان 300 المطلوب اذا ازدادت الى 350 او اي رقم اخر ان يتم تلقائيا نسخ الزياده فقط والتي تتمثل بال50 واظافته كانتج للجمع مع القيمة المتواجده في الخلية G3 حيث يصبح 350 بإختصار المطلوب كله لناتج الخليه (G3) في حال ادخال اي قيمة في الخلية F3 يتم الانقاص بقدر الرقم المدخل فقط ثم مسح او تفريخ محتوى الخلية F2 . ... وفي حال تغيرت قيمة الخلية E3 بأي زياده لأي رقم قد يتحدث في كل مره . ان يتم اظافة هذه القيمة الى القيمه المتواجده في خلية G3 كجمع ــــــــــــــــــ وهكذا يتم العمل في الخلية G3 وفي حال اي تغيير للخلايا المذكورة مساعده في تحديث قيم خليه ... الشرح والتوضيح مرفق بالملف مساعده بتغيير محتوى قيم خليه بالجمع والنقص.xlsb
اشجان بسيوني قام بنشر فبراير 27 الكاتب قام بنشر فبراير 27 للعلم مرفق كود في حدث صفحة المخزون يعمل بشكل ما ولكن عندما تتغير قيمة الخليه E3 التي مصدرها من الورقه1 . لا يتم تحديث قيم الخليه G3 بالزياده بحسب القيم المخله الجديده للخليه E3
احمد عبدالحليم قام بنشر فبراير 28 قام بنشر فبراير 28 السلام عليكم ورحمة الله وبركاته قرأت المطلوب 3 مرات مش فاهم اي حاجة ولكن..... فى شيت الارصدة الخاص بعرض بيانات الصنف المفروض والشائع دائما ان كمية الوارد نحصل عليها تلقائية باستخدام المعادلات او البرمجة من شيت اخر وهو شيت الوارد وايضا كمية المنصرف نحصل عليها بالمثل من شيت المنصرف والرصيد هو عبارة عن ناتج جمع رصيد اول المدة + الوارد - المنصرف اما بالنسبة للملف المرفق من وجهة نظرى المتواضعه اذا تم التعديل باليد على كل صنف بادخال الوارد وخصم المنصرف يدويا فسيحدث خطأ
اشجان بسيوني قام بنشر فبراير 28 الكاتب قام بنشر فبراير 28 (معدل) وعليكم السلام يمكنك الاطلاع على الكود في حدث الصفحه وسوف تفهم المطلوب ؟ المطلوب فقط اي قيمه جديده يتم ادخالها في العمود F في اي خليه يتم نقلها كرصيد تراكمي الى الخليه G8 في شيت المخزون وفي حال تم تعديل اي خليه لنفس العمود اذا كان التعديل بزياده ؟ للتوضيح لنفترض ان الخليه التي سوف يتم تعديلها قيمتها 55 وتم تعديلها الى 67 المطلوب فقط نسخ الفارق الذي هو 12 فقط ونقله كرصيد تراكمي فوق قيمه الخليه g8 في شيت المخزون والمطلوب الثاني اذا تم التعديل على اي خليه لنفس عمود f وكانت قيمتها كمثال 44 وتم تعديلها الى 31 اي ان التعديل تم بالنقص وليس بالزياده لقيمه الخليه والمطلوب في هذه الحاله . هو ان يتم فقط خصم الفارق الذي يعتبر هو ال13 وخصمه من قيمه محتوى الخليه g8 في شيت المخزون هذا كل شي وبإختصار 1 / اي قيمه يتم ادخالها بخليه فارغه بعمود f يتم نقل القيمه واضافتها الى مجموع قينه الخليه g8 في شيت المخزون 2/ اذا تم تعديل اي خليه لنفس العمود وكان التعديل بالزياده . المطلوب نقل الفارق واضافته للخليه g8 كما تم التوضيح بالأعلى سابقا 3 / اذا كان التعديل فيه خصم من اي خليه المطلوب فقط خصم الرقم او الفارق بين قيمه الخليه قبل التعديل وبعد التعديل يتم نقل فارق الخصم فقط الى شيت المخزون الخليه g8 وتم التوضيح للمثال اعلاه وشكرا لكل من تعاون تم تعديل فبراير 28 بواسطه اشجان بسيوني
abouelhassan قام بنشر فبراير 28 قام بنشر فبراير 28 يمكنك استخدام الكود التالي: Private Sub Worksheet_Change(ByVal Target As Range) Dim ws As Worksheet Dim stockSheet As Worksheet Dim changedCell As Range Dim newValue As Double Dim oldValue As Double Dim diff As Double Set ws = ThisWorkbook.Sheets("Sheet1") ' تغيير "Sheet1" إلى اسم الورقة التي تعمل عليها Set stockSheet = ThisWorkbook.Sheets("Stock") ' تغيير "Stock" إلى اسم ورقة المخزون ' التحقق من أن التعديل تم في العمود F والخلية ليست فارغة If Not Intersect(Target, ws.Columns("F")) Is Nothing And Target.Value <> "" Then newValue = Target.Value stockSheet.Range("G8").Value = stockSheet.Range("G8").Value + newValue ElseIf Not Intersect(Target, ws.Columns("F")) Is Nothing Then Exit Sub End If ' التحقق من أن التعديل تم في العمود F وليس في الخلية G8 If Not Intersect(Target, ws.Columns("F")) Is Nothing And Target.Address <> "$F$8" Then Exit Sub End If ' التحقق من أن التعديل تم بالزيادة If Target.Value > Target.Value - Target.Value Then newValue = Target.Value oldValue = Target.Value - Target.Value diff = newValue - oldValue stockSheet.Range("G8").Value = stockSheet.Range("G8").Value + diff Else ' التعديل تم بالنقص newValue = Target.Value oldValue = Target.Value + Target.Value diff = oldValue - newValue stockSheet.Range("G8").Value = stockSheet.Range("G8").Value - diff End If End Sub ``` هذا الكود يتم وضعه في وحدة العمل الخاصة بالورقة التي تريد استخدامها. يقوم الكود بتنفيذ الأوامر التالية: 1. إذا تم إدخال قيمة جديدة في العمود F (والخلية ليست فارغة)، فإنه يقوم بإضافة هذه القيمة إلى قيمة الخلية G8 في ورقة المخزون. 2. إذا تم تعديل قيمة في العمود F (والخلية ليست G8)، فإنه يحسب الفارق بين القيمة الجديدة والقيمة القديمة ويضيف أو يخصم هذا الفارق من قيمة الخلية G8 في ورقة المخزون، اعتمادًا على اتجاه التعديل (زيادة أو نقص).
احمد عبدالحليم قام بنشر مارس 4 قام بنشر مارس 4 تفضل جرب الملف ان شاء الله هو المطلوب لو انا فهمت ما تريده بشكل صحيح تقبل تحياتى مساعده بتغيير محتوى قيم خليه بالجمع والنقص (1).xlsb 2
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.