توكل قام بنشر ديسمبر 26, 2011 قام بنشر ديسمبر 26, 2011 الإخوة الأعزاء من واقع المعادلات التي يكتبها المبدعون في هذا المنتدى إستخدمت إحداها وكتبت معادلة لحساب عدد أيام الأشهر، ولكن هناك مشكلة بسيطة بالنسبة لشهر فبراير " شباط " فهو إما أن يكون 29 أو يكون 28 يوم في الغالب. لذا أرجو من الإخوة المبدعين الإطلاع على المرفق وتعديل الكود لتتمكن الدالة من إحتساب أيام شهر فبراير بالشكل الصحيح . لكم تحياتي عدد أيام الأشهر.rar
بن علية حاجي قام بنشر ديسمبر 26, 2011 قام بنشر ديسمبر 26, 2011 (معدل) السلام عليكم ورحمة الله أخي الكريم، لحساب عدد أيام شهر معين في سنة معينة يمكن استعمال المعادلة التالية: =DATE(C1;C2+1;0)-DATE(C1;C2;0) حيث الخلية C1 تحوي السنة (مثال 2011) والخلية C2 تحوي رقم الشهر (مثال 8) أخوك بن علية تم تعديل ديسمبر 26, 2011 بواسطه hben 1
توكل قام بنشر ديسمبر 26, 2011 الكاتب قام بنشر ديسمبر 26, 2011 (معدل) السلام عليكم ورحمة الله أخي الكريم، لحساب عدد أيام شهر معين في سنة معينة يمكن استعمال المعادلة التالية: =DATE(C1;C2+1;0)-DATE(C1;C2;0) حيث الخلية C1 تحوي السنة (مثال 2011) والخلية C2 تحوي رقم الشهر (مثال 8) أخوك بن علية أخي بن علية جزاك الله خير أنا أعلم أنه يمكن حساب عدد أيم الشهر بطرق مختلفة فأنا على سبيل المثال أستخدم المعادلة التالية : (DAY(DATE(Year;Month+1;1)-1= ولكن أنا أسأل إن كان بالإمكان تعديل الكود الذي كتبته ليتمكن من حساب عدد أيام شهر فبراير بشالكل الصحيح أقدر لك إهتمامك وشكراً لمرورك. تم تعديل ديسمبر 26, 2011 بواسطه الغريب 1
بن علية حاجي قام بنشر ديسمبر 26, 2011 قام بنشر ديسمبر 26, 2011 (معدل) السلام عليكم ورحمة الله أخي الكريم، لم أفهم ما كنت تريده في الأول، بالنسبة للمعادلة التي وضعتَها في ردك السابق =DAY(DATE(Year;Month+1;1)-1) يمكن تبسيطها على الشكل : =DAY(DATE(Year;Month+1;0) أما الكود فقد تم تعديله بالنسبة لعدد أيام شهر فبراير حسب السنوات ويكون بالشكل : Function MonthNumbers(Optional MIndex) Dim AllNumbers As Variant xx = Day(DateValue("01/03/" & Year(Date)) - 1) AllNumbers = Array(31, xx, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) If IsMissing(MIndex) Then MonthNumbers = AllNumbers Else Select Case MIndex Case Is >= 1 MonthVal = ((MIndex - 1) Mod 12) MonthNumbers = AllNumbers(MonthVal) Case Is <= 0 ' Vertical array MonthNumbers = Application.Transpose(AllNumbers) End Select End If End Function حدث خلل في الرد ولست أدري ما السبب وقد تم تعديله... والله أعلم عدد أيام الشهر.rar تم تعديل ديسمبر 26, 2011 بواسطه hben
توكل قام بنشر ديسمبر 26, 2011 الكاتب قام بنشر ديسمبر 26, 2011 أخي جزاك الله كل خير ولكن النتيجة عندي تعطي 2 لست أدري ما هو السبب، مع أني عندما أفتح الملف تكون النتيجة 28 ولكن عندما أقوم بالتعديل فتعطي النتيجة 2 سوف أحاول أن أبحث عن السبب شكراً لك على جهودك
توكل قام بنشر ديسمبر 26, 2011 الكاتب قام بنشر ديسمبر 26, 2011 إذا عدلنا الكود ليصبح بالكل التالي: xx = Day(DateValue("03/01/" & Year(Date)) - 1) فالنتيجة تصبح 28 كل شكري وامتناني أخي بن علية
أ / محمد صالح قام بنشر ديسمبر 26, 2011 قام بنشر ديسمبر 26, 2011 إخواني الكرام بارك الله لكم وبعد إذن أخي الفاضل بن علية هذا كود بسيط إن كان الأمر هو فقط تحويل المعادلة لكود يؤدي نفس الغرض .... وقد أضفت إمكانية تحديد العام ليحضر عدد ايام هذا الشهر لهذا العام تحديداً وإذا لم يتم تحديد العام فيعتبره الكود هو العام الحالي الدالة: Function MonthDays(myMonth As Integer, Optional myYear As Integer) As Integer MonthDays = Day(DateSerial(IIf(myYear = Null, Year(Date), myYear), myMonth + 1, 0)) End Function
توكل قام بنشر ديسمبر 26, 2011 الكاتب قام بنشر ديسمبر 26, 2011 (معدل) إخواني الكرام بارك الله لكم وبعد إذن أخي الفاضل بن علية هذا كود بسيط إن كان الأمر هو فقط تحويل المعادلة لكود يؤدي نفس الغرض .... وقد أضفت إمكانية تحديد العام ليحضر عدد ايام هذا الشهر لهذا العام تحديداً وإذا لم يتم تحديد العام فيعتبره الكود هو العام الحالي الدالة: Function MonthDays(myMonth As Integer, Optional myYear As Integer) As Integer MonthDays = Day(DateSerial(IIf(myYear = Null, Year(Date), myYear), myMonth + 1, 0)) End Function شكراً لك أستاذنا الكريم، ولكن هناك ملاحظة بسيطة لو سمحت : إذا لم تدخل السنة تعطي النتيجة 29 وليس 28 فشهر فبراير هذه السنة كان 28 يوم تقبل شكري وامتناني تم تعديل ديسمبر 26, 2011 بواسطه الغريب 1
بن علية حاجي قام بنشر ديسمبر 26, 2011 قام بنشر ديسمبر 26, 2011 السلام عليكم ورحمة الله أخي الكريم بالنسبة للكود الدي وضعه أخي العزيز mas123 (والذي اشتقنا له كثيرا) يمكن تعديله بعد إذن الأستاذ بتغيير الكلمة NULL بالقيمة 0... أخوك بن علية
أ / محمد صالح قام بنشر ديسمبر 26, 2011 قام بنشر ديسمبر 26, 2011 السلام عليكم ورحمة الله أخي الكريم بالنسبة للكود الدي وضعه أخي العزيز mas123 (والذي اشتقنا له كثيرا) يمكن تعديله بعد إذن الأستاذ بتغيير الكلمة NULL بالقيمة 0 أخوك بن علية تمام أخي بن علية لم أنتبه لأني في الإكسل كثيراُ ما نستخدم null في الأكسس ولأن المتغير من نوع integer فإذا كان فارغاً تكون قيمته صفر فتصبح الدالة Function MonthDays(myMonth As Integer, Optional myYear As Integer) As Integer MonthDays = Day(DateSerial(IIf(myYear =0, Year(Date), myYear), myMonth + 1, 0)) End Function والسلام عليكم ورحمة الله وبركاته 1
توكل قام بنشر ديسمبر 27, 2011 الكاتب قام بنشر ديسمبر 27, 2011 ما شاء الله جزاكم الله عنا كل خير منكم نتعلم ونستفيد، بارك الله في جميع جهودكم
Amro osama قام بنشر ديسمبر 18, 2018 قام بنشر ديسمبر 18, 2018 السلام عليكم عارف انه موضوع قديم ولكن يوجد معادلة بسيطة بدون Macro =TEXT(EOMONTH(A1;0);"dd") الدالة EOMONTH: لايجاد اخر يوم في الشهر لاي تاريخ الدالة TEXT: بالتنسيق dd : لايجاد اليوم الاخير بالشهر تقبلوا تحياتي 🙂 ايجاد عدد ايام الشهر.rar 1
الردود الموصى بها