محمد.فتحى قام بنشر April 7 قام بنشر April 7 (معدل) انشاء كود برمجى فيجوال بيسك أو المعادلات وللعلم بأن الخلايا بالجدول مملؤة يدويا واحتاج الكود للملء التلقائى أو وضع معادلات داخل الخلايا تطبيق على ورقة 10 عمل سطر برمجى لكل خلية منفصل عما قبله C3=G4 GO TO E3 قيمتها =E3 نهاية يونيو الذى يلى التاريخ الموجود فى C3 وإذا كانت قيمتها أكبرمن G5 اكتب G5 GO TO C4 C4 = E3+1 GO TO E4 =E4 نهاية يونيو الذى يلى التاريخ الموجود فى C4 وإذا كانت قيمتها أكبر من G5 اكتب G5 GO TO C5 C5 = E4+1 GO TO E5 =E5 نهاية يونيو الذى يلى التاريخ الموجود فى C5 وإذا كانت قيمتها أكبر من G5 اكتب G5 GO TO C6 C6 = E5+1 GO TO E6 =E6 نهاية يونيو الذى يلى التاريخ الموجود فى C5 وإذا كانت قيمتها اكبرمن G5 اكتب G5 GO TO C7 C7 = E6+1 GO TO E7 =E7 نهاية يونيو الذى يلى التاريخ الموجود فى C6 وإذا كانت قيمتها أكبر من G5 اكتب G5 GO TO C8 C8 = E7+1 GO TO E8 =E8 نهاية يونيو الذى يلى التاريخ الموجود فى C7 وإذا كانت قيمتها أكبر من G5 اكتب G5 GO TO C9 C9 = E8+1 GO TO E9 =E9 نهاية يونيو الذى يلى التاريخ الموجود فى C8 وإذا كانت قيمتها أكبر من G5 اكتب G5 GO TO C10 C10 = E9+1 GO TO E10 =E10 نهاية يونيو الذى يلى التاريخ الموجود فى C9 وإذا كانت قيمتها أكبر من G5 اكتب G5 المصنف (155).xlsx تم تعديل April 7 بواسطه فريدة العصر
mahmoud nasr alhasany قام بنشر April 9 قام بنشر April 9 تفضل جرب هذا الحل باستخدام المعادلات مباشرة في الخلايا: يمكنك وضع المعادلات التالية مباشرة في الخلايا المطلوبة في ورقة "Sheet10": الخلية C3: =G4 الخلية E3: =IF(EOMONTH(C3,6)>G5,G5,EOMONTH(C3,6)) الخلية C4: =E3+1 الخلية E4: =IF(EOMONTH(C4,6)>G5,G5,EOMONTH(C4,6)) الخلية C5: =E4+1 الخلية E5: =IF(EOMONTH(C5,6)>G5,G5,EOMONTH(C5,6)) الخلية C6: =E5+1 الخلية E6: =IF(EOMONTH(C6,6)>G5,G5,EOMONTH(C6,6)) الخلية C7: =E6+1 الخلية E7: =IF(EOMONTH(C7,6)>G5,G5,EOMONTH(C7,6)) الخلية C8: =E7+1 الخلية E8: =IF(EOMONTH(C8,6)>G5,G5,EOMONTH(C8,6)) الخلية C9: =E8+1 الخلية E9: =IF(EOMONTH(C9,6)>G5,G5,EOMONTH(C9,6)) الخلية C10: =E9+1 الخلية E10: =IF(EOMONTH(C10,6)>G5,G5,EOMONTH(C10,6)) شرح المعادلات: EOMONTH(date, months): تقوم هذه الدالة بإرجاع تاريخ نهاية الشهر الذي يقع قبل أو بعد عدد محدد من الأشهر من تاريخ البداية. في حالتنا، نضيف 6 أشهر إلى التاريخ الموجود في العمود C للحصول على نهاية شهر يونيو التالي. IF(logical_test, value_if_true, value_if_false): تقوم هذه الدالة بفحص شرط معين. إذا كان الشرط صحيحًا، فإنها ترجع القيمة الأولى؛ وإلا فإنها ترجع القيمة الثانية. في حالتنا، نتحقق مما إذا كان تاريخ نهاية يونيو أكبر من القيمة الموجودة في الخلية G5. إذا كان أكبر، نكتب قيمة G5؛ وإلا، نكتب تاريخ نهاية يونيو. ملاحظات: تأكد من أن ورقة العمل التي تريد تطبيق الكود أو المعادلات عليها اسمها "Sheet10" بالضبط. إذا كان اسمها مختلفًا، فقم بتعديل اسم الورقة في كود VBA أو عند الإشارة إلى الخلايا في المعادلات. في كود VBA، يتم تنفيذ كل سطر برمجي بشكل منفصل كما طلبت. باستخدام المعادلات، ستتحدث الخلايا تلقائيًا عند تغيير القيم في الخلايا التي تعتمد عليها (مثل G4 أو الخلايا في العمود C). اختر الطريقة التي تناسب احتياجاتك بشكل أفضل. إذا كنت بحاجة إلى تشغيل هذه العمليات بشكل متكرر أو كجزء من عملية أكبر، فقد يكون كود VBA أكثر ملاءمة. أما إذا كانت العملية تتم مرة واحدة أو كنت تفضل عدم استخدام وحدات الماكرو، فإن استخدام المعادلات مباشرة في الخلايا هو خيار جيد. Sub FillCells() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة 10") ' تعيين قيمة الخلية C3 ws.Range("C3").Value = ws.Range("G4").Value ' تعيين معادلة الخلية E3 ws.Range("E3").Formula = "=IF(EOMONTH(C3,6)>G5,G5,EOMONTH(C3,6))" ' تعيين قيمة الخلية C4 ws.Range("C4").Value = ws.Range("E3").Value + 1 ' تعيين معادلة الخلية E4 ws.Range("E4").Formula = "=IF(EOMONTH(C4,6)>G5,G5,EOMONTH(C4,6))" ' تعيين قيمة الخلية C5 ws.Range("C5").Value = ws.Range("E4").Value + 1 ' تعيين معادلة الخلية E5 ws.Range("E5").Formula = "=IF(EOMONTH(C5,6)>G5,G5,EOMONTH(C5,6))" ' تعيين قيمة الخلية C6 ws.Range("C6").Value = ws.Range("E5").Value + 1 ' تعيين معادلة الخلية E6 ws.Range("E6").Formula = "=IF(EOMONTH(C6,6)>G5,G5,EOMONTH(C6,6))" ' تعيين قيمة الخلية C7 ws.Range("C7").Value = ws.Range("E6").Value + 1 ' تعيين معادلة الخلية E7 ws.Range("E7").Formula = "=IF(EOMONTH(C7,6)>G5,G5,EOMONTH(C7,6))" ' تعيين قيمة الخلية C8 ws.Range("C8").Value = ws.Range("E7").Value + 1 ' تعيين معادلة الخلية E8 ws.Range("E8").Formula = "=IF(EOMONTH(C8,6)>G5,G5,EOMONTH(C8,6))" ' تعيين قيمة الخلية C9 ws.Range("C9").Value = ws.Range("E8").Value + 1 ' تعيين معادلة الخلية E9 ws.Range("E9").Formula = "=IF(EOMONTH(C9,6)>G5,G5,EOMONTH(C9,6))" ' تعيين قيمة الخلية C10 ws.Range("C10").Value = ws.Range("E9").Value + 1 ' تعيين معادلة الخلية E10 ws.Range("E10").Formula = "=IF(EOMONTH(C10,6)>G5,G5,EOMONTH(C10,6))" End Sub المصنف (155).xlsm 1
تمت الإجابة محمد.فتحى قام بنشر الأربعاء at 10:56 الكاتب تمت الإجابة قام بنشر الأربعاء at 10:56 mahmoud nasr alhasany شاكر افضالك أستاذ محمد وربنا يزيدك علما
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.