ahmed_atoon قام بنشر يوليو 7, 2019 قام بنشر يوليو 7, 2019 لدي شيت به تاريخ بدايه - تاريخ نهايه - مبلغ شهري - اجمالي المده × المبلغ الشهري ---- لحد هنا تمام فى خليتين تانيين فيهم السنتين وليكن 2016 و 2017 و 2018 و 2019 محتاج انزل اجمالي كل سنه لوحده مرفق شيت لسهوله التعديل test.xlsx
سليم حاصبيا قام بنشر يوليو 7, 2019 قام بنشر يوليو 7, 2019 لا يمكن العمل حسب الجدول الذي وضعته لان، السنوات تخلتف من عامود الى اخر افترح عليك هذا الملف test_monthly.xlsx 2
ahmed_atoon قام بنشر يوليو 7, 2019 الكاتب قام بنشر يوليو 7, 2019 اخي @سليم حاصبيا شكراً لك حيث انه مطلوب مني هذا الملف بالمعادله التى قمت انت بعملها ولكن ان يكون ناتج كل عام تحت العمود الخاص به حتى يمكن جمع الاعوام مع بعضها واذا امكن شرح سريع للمعادله test_monthly.xlsx
سليم حاصبيا قام بنشر يوليو 8, 2019 قام بنشر يوليو 8, 2019 تم التعديل كما تريد (صفحة Salim من هذا الملف ) test_monthly1.xlsx
ahmed_atoon قام بنشر يوليو 8, 2019 الكاتب قام بنشر يوليو 8, 2019 7 hours ago, سليم حاصبيا said: تم التعديل كما تريد (صفحة Salim من هذا الملف ) شكراً لك اخي سليم بالفعل هو المطلوب بس مع اضافه بسيطه لو امكن يعنى رقم 1 انا دلوقتى ضفت المده من 2015 حتى 2023 فالناتج طلع فى العامود بتاع 2015 و 2023 وساب السنين اللى فى النص ولو امكن شرح للمعادله بعد التعديل لأن متلخبط لان كل عامود معادلته غير التاني فمعرفتش اعدل عليها الفترات اللى محتاجها من والي test_monthly.xlsx
ahmed_atoon قام بنشر يوليو 9, 2019 الكاتب قام بنشر يوليو 9, 2019 On 7/8/2019 at 4:10 PM, ahmed_atoon said: شكراً لك اخي @سليم حاصبيا بالفعل هو المطلوب بس مع اضافه بسيطه لو امكن يعنى رقم 1 انا دلوقتى ضفت المده من 2015 حتى 2023 فالناتج طلع فى العامود بتاع 2015 و 2023 وساب السنين اللى فى النص ولو امكن شرح للمعادله بعد التعديل لأن متلخبط لان كل عامود معادلته غير التاني فمعرفتش اعدل عليها الفترات اللى محتاجها من والي test_monthly.xlsx 13.87 kB · 0 downloads
سليم حاصبيا قام بنشر يوليو 9, 2019 قام بنشر يوليو 9, 2019 انت طلبت ان يكون عدد الاشهر بين سنتين متتاليتين فكانت المعادلة التي ارسلتها في حال اختلاف عدد السنوات يلزم تغيير كل شيء اليك هذا المثال Mounth_Price.xlsx 1
ahmed_atoon قام بنشر يوليو 9, 2019 الكاتب قام بنشر يوليو 9, 2019 2 hours ago, سليم حاصبيا said: انت طلبت ان يكون عدد الاشهر بين سنتين متتاليتين فكانت المعادلة التي ارسلتها في حال اختلاف عدد السنوات يلزم تغيير كل شيء اليك هذا المثال Mounth_Price.xlsx 11.08 kB · 0 downloads أعجز عن الشكر اخي @سليم حاصبيا هذا هو المطلوب بالفعل لو امكن شرح سريع للمصفوفه واستفسار المفروض ان فى رقم 2 التاريخ بدأ من 17-5-2015 والناتج طلع 40 المفروض يطلع 35 لو حسبنا شهر 5 كامل وشئ اخر هل ممكن ان يكون بتاريخ النهايه او البدايه اذا كان ايام الشهر اقل من او يساوي 15 منه يحتسب نصف شهر واذا كان اكبر من 15 يحتسب شهر كامل اذا كان غير ممكن فشكراً جزيلا لتعب حضرتك معايا وانتظر شرح المصفوفه للتعلم منها
أفضل إجابة سليم حاصبيا قام بنشر يوليو 10, 2019 أفضل إجابة قام بنشر يوليو 10, 2019 بالنسبة للسؤال الاول (المفروض ان فى رقم 2 التاريخ بدأ من 17-5-2015 والناتج طلع 40 المفروض يطلع 35) في رقم 2 البداية (سنة 2017) الأشهر هي 5 /6 / 7 / 8 / 9 / 10 /11 / 12 أي ما مجموعه 8 أشهر و ليس 7 بالنسبة للسؤال الثاني (المرفق صفحة Correction) تم العمل على ان 1- اذا كان تارخ البداية اكبر من 15 يحتسب نصف الشهر و الا الشهر كاملاً 2-اذا كان تاريخ النهاية اصغر من 15 يحتسب نصف الشهر و الا الشهر كاملاً كل هذا بواسطة المعادلات اما اذا اردت الحل بواسطة الماكرو تجد الحل في الصفحة vba_sh من نفس الملف المرفق الكود Option Explicit Sub get_Salary() Dim Annee%: Annee = [d1] Dim arr_val() Dim i%, ind%, t% Dim def1 As Double, def2 As Double Dim adrs1%, adrs2% Dim m As Double, s As Double Dim LRA%: LRA = Cells(Rows.Count, 1).End(3).Row Dim St_year%, End_year Dim cont%: cont = 1 Range("d2:Q" & LRA).ClearContents For i = 2 To LRA St_year = Year(Range("a" & i)) End_year = Year(Range("B" & i)) If Range("a" & i) > Range("B" & i) Then MsgBox "you an Error on range: " _ & Range("a" & i).Resize(, 2).Address & Chr(10) & _ "the start date < then end One" & Chr(10) & _ "please check your data and Rerun the Macro": Exit Sub If St_year = End_year Then ReDim arr_val(1 To 1) arr_val(1) = St_year Else For ind = 1 To End_year - St_year + 1 ReDim Preserve arr_val(1 To ind) arr_val(ind) = St_year + cont - 1 cont = cont + 1 Next End If '========================================= If UBound(arr_val) = 1 Then adrs1 = Rows(1).Find(arr_val).Column Select Case Day(Range("a" & i)) Case Is < 15: def1 = -0.5 Case Else: def1 = 0.5 End Select Select Case Day(Range("b" & i)) Case Is < 15: def2 = 0 Case Else: def2 = 1 End Select m = Month(Range("b" & i)) - Month(Range("a" & i)) + def1 + def2 - 1 Cells(i, adrs1) = Abs(m) * Range("c" & i) End If '========================================= '++++++++++++++++++++++++++++++++++++++++++++++ If UBound(arr_val) <> 1 Then adrs1 = Rows(1).Find(arr_val(1), lookat:=1).Column adrs2 = Rows(1).Find(arr_val(UBound(arr_val)), lookat:=1).Column Select Case Day(Range("a" & i)) Case Is < 15: m = 13 - Month(Range("a" & i)) Case Else: m = 13 - Month(Range("a" & i)) - 0.5 End Select Cells(i, adrs1) = m * Range("c" & i) '============================ Select Case Day(Range("b" & i)) Case Is < 15: m = Month(Range("b" & i)) - 0.5 Case Else: m = Month(Range("b" & i)) End Select Cells(i, adrs2) = m * Range("c" & i) For t = LBound(arr_val) + 1 To UBound(arr_val) - 1 adrs1 = Rows(1).Find(arr_val(t)).Column Cells(i, adrs1) = 12 * Range("c" & i) Next End If Erase arr_val: cont = 1 Next Columns("d:Q").AutoFit End Sub الملف مرفق Mounth_Price_new.xlsm 1
ahmed_atoon قام بنشر يوليو 10, 2019 الكاتب قام بنشر يوليو 10, 2019 شكر اخي @سليم حاصبيا تم العمل بورقة Correction استأذن حضرتك في شرح مبسط للمعادله لسهولة الفهم والعمل بها
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.