اكسلاوي قام بنشر يناير 6, 2023 مشاركة قام بنشر يناير 6, 2023 (معدل) لو عندي خلية في الاكسل تتغير قيمتها باستمرار سواء للاعلى او الاسفل ....كيف ممكن احسب مجموع الفرق في التغيير اذا كان الى الاسفل ومجموع الفرق في التغيير اذا كان الى الاعلى؟ مثال في البداية كانت القيمة الاولى هي 50 ثم صار 53 نقطة، يعني الفرق بالموجب 3 نقاط ثم صارت القيمة مرة اخرى 55 ايضا التغيير بمقار نقطتيين بالموجب بالاضافة الى الثلاث النقاط السابقة صار المجموع الكلي للتغيير هو 5 نقاط بالموجب. ثم تغيرت القيمة وصارت 47 بمعنى الفرق في التغيير 7 نقاط بالسالب لانه القيمة هبطت تم صارت القيمة 43 ايضا هبطت بمقدار 4 نقاط بالسالب يصبح المجموع الكلي للتغيير هو 11 نقطة بالسالب ...وهكذا يضل مراقبة التغيير واضافته للمجموع الكلي سواء موجبا او سالبا.. ملاحظة: ممكن ضبط قيمة اقل تغيير نعتمد عليه في الحساب...مثلا اقول اذا كان التغيير هو 3 نقاط فا اكثر نبداء بالحساب ولكن اذا اكان التغيير اقل من 3 نقاط تجاهل الموضوع، وكان شيئا لم يحدث...طبعا قيمة التفيير ممكن اخليها نقطة او نقطتتين او اكثر بمعنى انا اتحكم بمقدار التغيير.. تم تعديل يناير 6, 2023 بواسطه اكسلاوي رابط هذا التعليق شارك More sharing options...
كمال على طارق قام بنشر يناير 7, 2023 مشاركة قام بنشر يناير 7, 2023 انتبه من فضلك فلا يمكن المساعدة بدون رفع ملف مدعوم بشرح كافى عن المطلوب .. وكان لابد من بدء المشاركة بالتحية السلام عليكم !!!! رابط هذا التعليق شارك More sharing options...
mohamed wush قام بنشر يناير 7, 2023 مشاركة قام بنشر يناير 7, 2023 (معدل) السلام عليكم ورحمة الله وبركاته الأخ العزيز ارفع الملف وسوف يتم التعامل معه وارساله لك تم تعديل يناير 7, 2023 بواسطه mohamed wush 1 رابط هذا التعليق شارك More sharing options...
اكسلاوي قام بنشر يناير 7, 2023 الكاتب مشاركة قام بنشر يناير 7, 2023 (معدل) وعليكم السلام ورحمة الله وبركاته اخي الكريم...هي لا يوجد لدي ملف وانما هي فكرة طرات ببالي واريد اعرف كيف ممكن حلها: اختصار شرح الفكرة وهي كتالي: نفترض عندك خلية وتحتوي على العدد 10 طبعا لنفترض ان هذة القيمة تتغير باستمرار في كل دقيقة.. لنفترض ان التغيرات التي حدثت خلال الدقيقة كانت على النحو التالي.. 10 ثم صارت 13 ثم 9 ثم 16 ثم 7 هنا نريد ان نحسب القيمة الحالية من القيمة السابقة مع كل تغيير حدث وستكون النتيجة كتالي طبعا القيم الموجبة وهي تحدث عنما تكون القيمة الحالية اعلى من القيمة السابقة ، وعكس ذلك هي القيم السالبة اول تغير كان من 10 الى 13................. اذا الفرق هو 3 نقاط بالموجب ثاني تغيير كان من 13 الى 9 ................اذا الفرق هو 4 نقاط بالسالب ثالث تغيير هو من 9 الى 16 .................اذا الفرق هو 7 نقاط بالموجب رابع تغيير هو من 16 الى 7 ..................اذا الفرق هو 9 نقاط بالسالب اذا المجموع الكلي للقيمة الموجبة هي 10 والمجموع الكلي للقيمة السالبة هي 13 طبعا كل تغيير يحدث سواء موجب او سالب يتم اضافته للمجموع الكلي الموجب للقيم الموجبة او السالب للقيم السالبة. اذا هناك اي شي غير مفهوم ممكن اعيد شرحه من جديد تم تعديل يناير 7, 2023 بواسطه اكسلاوي 1 رابط هذا التعليق شارك More sharing options...
أفضل إجابة محمد هشام. قام بنشر يناير 8, 2023 أفضل إجابة مشاركة قام بنشر يناير 8, 2023 وعليكم السلام ورحمة الله تعالى وبركاته كنت في انتظار رفع ملف للتطبيق عليه . بما انها مجرد فكرة وتريد حلها تفضل اخي الكريم يمكنك فعل دالك بواسطة الكود التالي لاستخراج مجموع القيم السالبة والموجبة وكدالك مجموع القيم المدخلة مع اضافة امكانية ظبط قيمة التغيير التي نعتمد عليها في الحساب في مثالنا هدا قد تم تنفيد طلبك مثلا اقول اذا كان التغيير هو 3 نقاط فا اكثر نبداء بالحساب ولكن اذا اكان التغيير اقل من 3 نقاط تجاهل الموضوع، وكان شيئا لم يحدث . ويمكنك ظبط القيمة كما تشاء من داخل الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$E$2" Then ' هنا ممكن ضبط قيمة اقل تغيير نعتمد عليه في الحساب' If Abs(Tmp - Target) < 3 Then Exit Sub Application.EnableEvents = False If Target < Tmp Then [m2] = [m2] + Tmp - Target 'عدد الاختلافات بالسالب' Else If Tmp <> 0 Then [g2] = [g2] + Target - Tmp 'عدد الاختلافات بالموجب End If Tmp = Target Application.EnableEvents = True End If If Target.Address = "$E$2" Then [b2] = [b2] + Target 'مجموع القيم المدخلة End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$E$2" Then Tmp = Target End Sub في حالة عدم الرغبة في وضع شرط اقل قيمة يمكنك استخدام الكود التالي Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Me.[e2].Address Then Ecart = Target.Value - Me.[OldVal] Me.Names("OldVal").RefersTo = 0 + Target.Value Range("E2").Select Select Case Ecart Case Is > 0 Me.[g2] = Me.[g2] + Ecart Case Is < 0 Me.[m2] = Me.[m2] - Ecart Case 0 Range("b2").Value = Range("b2").Value + Target.Value End Select End If If Target.Address = "$E$2" Then [b2] = [b2] + Target End If End Sub واليك اخي الكريم الملف تم تطبيق الفكرة عليه للتجربة فكرة.xlsm 2 1 رابط هذا التعليق شارك More sharing options...
اكسلاوي قام بنشر يناير 10, 2023 الكاتب مشاركة قام بنشر يناير 10, 2023 (معدل) في 8/1/2023 at 21:13, Mohamed Hicham said: وعليكم السلام ورحمة الله تعالى وبركاته كنت في انتظار رفع ملف للتطبيق عليه . بما انها مجرد فكرة وتريد حلها تفضل اخي الكريم يمكنك فعل دالك بواسطة الكود التالي لاستخراج مجموع القيم السالبة والموجبة وكدالك مجموع القيم المدخلة مع اضافة امكانية ظبط قيمة التغيير التي نعتمد عليها في الحساب في مثالنا هدا قد تم تنفيد طلبك مثلا اقول اذا كان التغيير هو 3 نقاط فا اكثر نبداء بالحساب ولكن اذا اكان التغيير اقل من 3 نقاط تجاهل الموضوع، وكان شيئا لم يحدث . ويمكنك ظبط القيمة كما تشاء من داخل الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$E$2" Then ' هنا ممكن ضبط قيمة اقل تغيير نعتمد عليه في الحساب' If Abs(Tmp - Target) < 3 Then Exit Sub Application.EnableEvents = False If Target < Tmp Then [m2] = [m2] + Tmp - Target 'عدد الاختلافات بالسالب' Else If Tmp <> 0 Then [g2] = [g2] + Target - Tmp 'عدد الاختلافات بالموجب End If Tmp = Target Application.EnableEvents = True End If If Target.Address = "$E$2" Then [b2] = [b2] + Target 'مجموع القيم المدخلة End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$E$2" Then Tmp = Target End Sub في حالة عدم الرغبة في وضع شرط اقل قيمة يمكنك استخدام الكود التالي Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Me.[e2].Address Then Ecart = Target.Value - Me.[OldVal] Me.Names("OldVal").RefersTo = 0 + Target.Value Range("E2").Select Select Case Ecart Case Is > 0 Me.[g2] = Me.[g2] + Ecart Case Is < 0 Me.[m2] = Me.[m2] - Ecart Case 0 Range("b2").Value = Range("b2").Value + Target.Value End Select End If If Target.Address = "$E$2" Then [b2] = [b2] + Target End If End Sub واليك اخي الكريم الملف تم تطبيق الفكرة عليه للتجربة فكرة.xlsm 28.61 kB · 5 downloads حياك الله اخي محمد ماشاء الله عليك، هذا بالضبط ما قصدته...ياريت لو تطبق الفكرة بشكل مباشر على سعر الصرف بما انه يتغير تقريبا كل ثانية. تقوم باحضار سعر الصرف لليورو دولار مثلا ، ومن ثم نقوم بتطبيق الفكرة عليه، بما ان السعر يتغير باستمرار. لكن لا اعرف لماذا الملف لم يشتغل عندي...هل بعد تنزيل الملف المفروض يعمل ام يجب القيام ببعض الخطوات؟ ممكن اعرف ...ماهي اللغات التي تجيدها غير vba ؟ تم تعديل يناير 10, 2023 بواسطه اكسلاوي رابط هذا التعليق شارك More sharing options...
محمد هشام. قام بنشر يناير 10, 2023 مشاركة قام بنشر يناير 10, 2023 ليس هناك أي خطوات اخي الفاضل يشتغل تلقائيا عند ادخال القيم في الخلية E2 حاول غلق الملف وإعادة تشغيله مرة أخرى رابط هذا التعليق شارك More sharing options...
اكسلاوي قام بنشر يناير 10, 2023 الكاتب مشاركة قام بنشر يناير 10, 2023 (معدل) قمت بغلق الملف وفتحه من جديد، ولكن عندما ادخلت قيمة 10 في الخليةE2 ثم غيرتها الى القيمة 13 ثم الى القيمة 9 وهكذا، ولكن لم يحدث اي تغيير في القيم الاخرى.. مثال عملي لتطبيق الفكرة...هو احضار سعرف صرف العملة بشكل مباشر الى ملف الاكسل ونقوم بحساب التغير بشكل مباشر مثلا..تقوم باحضار سعر الصرف لليورو دولار ، ومن ثم نقوم بتطبيق الفكرة عليه، بما ان السعر يتغير باستمرار. تم تعديل يناير 10, 2023 بواسطه اكسلاوي رابط هذا التعليق شارك More sharing options...
محمد هشام. قام بنشر يناير 10, 2023 مشاركة قام بنشر يناير 10, 2023 (معدل) الملف يشتغل عندي بكفاءة اخي الكريم . https://streamable.com/3mbrm0 تم اعادة رفع الملف مرة اخرى للتجربة فكرة 2.xlsm تم تعديل يناير 10, 2023 بواسطه Mohamed Hicham رابط هذا التعليق شارك More sharing options...
اكسلاوي قام بنشر يناير 10, 2023 الكاتب مشاركة قام بنشر يناير 10, 2023 لم يعمل...ربما ينقصني بعض الخطوات هل الملف متضمن الكود ام يجب نسخ الكود ووضعه داخل ملف؟ رابط هذا التعليق شارك More sharing options...
محمد هشام. قام بنشر يناير 10, 2023 مشاركة قام بنشر يناير 10, 2023 نعم يتضمن الكود ................ يمكنك نسخ الكود من المشاركة فوق ووضعها في حدث الشيت المراد التجربة عليه فعلا انا مستغرب لعدم اشتغال الملف لديك ربما احد الاخوة الاعضاء يقوم بالتجربة ويوافينا بالنتيجة رابط هذا التعليق شارك More sharing options...
اكسلاوي قام بنشر يناير 10, 2023 الكاتب مشاركة قام بنشر يناير 10, 2023 ممكن من فضلك اخي الفاضل ..تعمل فيديو، كيفية لصق الكود وتشغيله على الملف، لاني حاولت ولم يتفاعل معي، ربما هناك اشياء تنقصني.. رابط هذا التعليق شارك More sharing options...
اكسلاوي قام بنشر يناير 10, 2023 الكاتب مشاركة قام بنشر يناير 10, 2023 (معدل) ياريت اخي محمد..ترفع فيديو على نفس الموقع streamable.com تشرح فيه ..كيف نضيف الكود ونشعله في الاكسل...لاني حاولت اعمل ذلك، لكن الكود ما اشتغل...اعتقد ربما ينقصني بعض الخطوات... كمان عندي ملاحظة..هل يجب اضغط على زر انتر كل ما ادخل قيمة..اذا كان الجواب بنعم...فكيف ممكن اجعل التغيير يحدث تلقائي بدون الضغط على زر انتر ..بمعنى بمجرد تغيير القيمة داخل الخلية..يحدث التغيير داخل الخلايا الاخرى مباشرة بعيدا عن الضغط على زر انتر؟ تم تعديل يناير 10, 2023 بواسطه اكسلاوي رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان