ابولمى قام بنشر سبتمبر 15, 2015 قام بنشر سبتمبر 15, 2015 اخواني اريد ان اعين قيمة لمتغير ولتكن على سبيل المثال بهذا الشكل وياليت اذا ممكن شرح بسيط بمثال بسيط r= < 0
ياسر خليل أبو البراء قام بنشر سبتمبر 15, 2015 قام بنشر سبتمبر 15, 2015 أخي الكريم المستخدم يرجى توضيح المطلوب بشيء من التفصيل ماذا تحاول أن تقوم بفعله؟ بالنسبة للإعلان عن المتغير يكون بكلمة Dim يليها اسم المتغير ثم كلمة As ثم نوع المتغير على سبيل المثال Dim R As Long في السطر تم الإعلان عن المتغير R من النوع Long الخاص بالأرقام الصحيحة الطويلة يمكن تعيين رقم صحيح طويل للمتغير بهذا الشكل مثلاً R = 5000 أو يمكن الإشارة إلى قيمة خلية معينة مثلاً R = Range("A1").Value
ابولمى قام بنشر سبتمبر 15, 2015 الكاتب قام بنشر سبتمبر 15, 2015 (معدل) بارك الله فيك اخي ياسر ..سوف اعطيك مثال لما اريد الوصول اليه ..مثلا انا لدي في عمود H بيانات عباره عن ارقام هذه الارقام في سلسله طويله عشوائيه وهذه الارقام تارة تكون موجبه وتاره سالبه بشكل عشوائي ..وانا اريد احصاء مجموع الارقام السالبه وايضا الارقام الموجبه ..لذلك حاولت ان اعين قيمة المتغير الى معادله تم تعديل سبتمبر 15, 2015 بواسطه مستخدم جديد9
ياسر خليل أبو البراء قام بنشر سبتمبر 15, 2015 قام بنشر سبتمبر 15, 2015 إذا كان الأمر كذلك فلما لا تستخدم معادلة بسيطة جداً بالشكل التالي =COUNTIF(H:H,">=0") لعد الأرقام الموجبة والمعادلة التالية =COUNTIF(H:H,"<0") لعد الأرقام السالبة اما إذا كنت تقصد المجموع فيمكن استخدام المعادلة التالية لجمع الأرقام الموجبة فقط =SUMIF(H:H,">=0",H:H) ولجمع الأرقام السالبة فقط استخدم المعادلة التالية =SUMIF(H:H,"<0",H:H) باستخدام الكود .. بفرض أن لديك الأرقام في العمود H .. جرب الكود التالي (النتائج تظهر بعد آخر خلية فارغة بمجموع الأرقام الموجبة والسالبة) Sub SUMPositiveNegativeA() Dim C As Range, LR As Long, PositiveSum As Double, NegativeSum As Double LR = Cells(Rows.Count, "H").End(xlUp).Row Set C = Range("H1:H" & LR) PositiveSum = Application.WorksheetFunction.SumIf(C, ">=0") NegativeSum = Application.WorksheetFunction.SumIf(C, "<0") Range("H" & LR + 2) = "Positive: " & PositiveSum Range("H" & LR + 3) = "Negative: " & NegativeSum End Sub وهذا كود آخر يؤدي الغرض بدون استخدام دوال الإكسيل داخل محرر الأكواد Sub SUMPositiveNegativeB() Dim C As Range, LR As Long, PositiveSum As Double, NegativeSum As Double LR = Range("H" & Rows.Count).End(xlUp).Row For Each C In Range("H1:H" & LR) If IsNumeric(C) Then If Sgn(C) = 1 Then PositiveSum = PositiveSum + C If Sgn(C) = -1 Then NegativeSum = NegativeSum + C End If Next Range("H" & LR + 2) = "Positive: " & PositiveSum Range("H" & LR + 3) = "Negative: " & NegativeSum End Sub تقبل تحياتي 6
ابولمى قام بنشر سبتمبر 15, 2015 الكاتب قام بنشر سبتمبر 15, 2015 إذا كان الأمر كذلك فلما لا تستخدم معادلة بسيطة جداً بالشكل التالي =COUNTIF(H:H,">=0") لعد الأرقام الموجبة والمعادلة التالية =COUNTIF(H:H,"<0") لعد الأرقام السالبة اما إذا كنت تقصد المجموع فيمكن استخدام المعادلة التالية لجمع الأرقام الموجبة فقط =SUMIF(H:H,">=0",H:H) ولجمع الأرقام السالبة فقط استخدم المعادلة التالية =SUMIF(H:H,"<0",H:H) باستخدام الكود .. بفرض أن لديك الأرقام في العمود H .. جرب الكود التالي (النتائج تظهر بعد آخر خلية فارغة بمجموع الأرقام الموجبة والسالبة) Sub SUMPositiveNegativeA() Dim C As Range, LR As Long, PositiveSum As Double, NegativeSum As Double LR = Cells(Rows.Count, "H").End(xlUp).Row Set C = Range("H1:H" & LR) PositiveSum = Application.WorksheetFunction.SumIf(C, ">=0") NegativeSum = Application.WorksheetFunction.SumIf(C, "<0") Range("H" & LR + 2) = "Positive: " & PositiveSum Range("H" & LR + 3) = "Negative: " & NegativeSum End Sub وهذا كود آخر يؤدي الغرض بدون استخدام دوال الإكسيل داخل محرر الأكواد Sub SUMPositiveNegativeB() Dim C As Range, LR As Long, PositiveSum As Double, NegativeSum As Double LR = Range("H" & Rows.Count).End(xlUp).Row For Each C In Range("H1:H" & LR) If IsNumeric(C) Then If Sgn(C) = 1 Then PositiveSum = PositiveSum + C If Sgn(C) = -1 Then NegativeSum = NegativeSum + C End If Next Range("H" & LR + 2) = "Positive: " & PositiveSum Range("H" & LR + 3) = "Negative: " & NegativeSum End Sub تقبل تحياتي بارك الله فيك اخي ماشاءالله عليك انت جبتها صح 100% لي عودة ربما اطلب بعض التعديلات منك اخي الكريم :) 1
ياسر خليل أبو البراء قام بنشر سبتمبر 15, 2015 قام بنشر سبتمبر 15, 2015 الحمد لله أن تم المطلوب على خير وفي العودة يمكنك طرح موضوع جديد بالطلب الجديد تقبل تحياتي
saad abed قام بنشر سبتمبر 15, 2015 قام بنشر سبتمبر 15, 2015 أستاذ ياسر اكوادك ممتازة كاخلاقك اخى ربنا يجزيك خيرا على ما تقدمه وفقكم الله 2
ياسر خليل أبو البراء قام بنشر سبتمبر 15, 2015 قام بنشر سبتمبر 15, 2015 أخي الكريم سعد عابد مشكور على مرورك العطر وإعجابك بالمشاركة وجزيت خيراً على دعائك الطيب المبارك تقبل تحياتي 1
ياسر خليل أبو البراء قام بنشر سبتمبر 15, 2015 قام بنشر سبتمبر 15, 2015 تسلم يا واعد .. يا أيها النجم الساطع قريباً إن شاء الله 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.