gamalin2 قام بنشر يونيو 28, 2021 مشاركة قام بنشر يونيو 28, 2021 الاخوة الافاضل اريد كود يدرج معادلة في خلية معينه عند اجراء تعديل على الشيت في اخر سطر دوما او مراجعة الكود التالي وافادتي ما الخطأ به Private Sub Worksheet_Change(ByVal Target As Range) With Sheets("p_o").[a1000].End(xlUp) .Offset(0, 7).FormulaR1C1 = "=IF(ISBLANK(RC[-7]),0,R7C[-6]*RC[-2]*(1+RC[-1]))" .Offset(0, 8).FormulaR1C1 = "=IF(ISBLANK(RC[-8]),0,RC[-4]*RC[-1])" End With End Sub رابط هذا التعليق شارك More sharing options...
نزار سليمان عيد قام بنشر يونيو 28, 2021 مشاركة قام بنشر يونيو 28, 2021 اتوقع المشكلة اسم الصفحه خليها PO مباشرة بدون _ رابط هذا التعليق شارك More sharing options...
gamalin2 قام بنشر يونيو 28, 2021 الكاتب مشاركة قام بنشر يونيو 28, 2021 اخي نزار شكرا لمروك الكريم بس هو هيفرق في ايه اسم الصفحة اذا كان الاسم مقبول في الاكسل فاي اسم مش يفرق والا ايه رابط هذا التعليق شارك More sharing options...
gamalin2 قام بنشر يونيو 28, 2021 الكاتب مشاركة قام بنشر يونيو 28, 2021 للاسف لم يحدث تغيير po change.rar رابط هذا التعليق شارك More sharing options...
أ / محمد صالح قام بنشر يونيو 28, 2021 مشاركة قام بنشر يونيو 28, 2021 تكمن المشكلة في أنك تقوم بعمل سلسلة لا نهائية من استدعاء الكود بحيث أن تقوم بتغيير المعادلة وهذا تغيير يتطلب تغيير المعادلة وهكذا وحل هذه المشكلة في تحديد نطاق التغيير مثلا بعد الصف 8 وقبل العمود 8 وعليه يكون الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 8 And Target.Column < 8 Then Range("h" & Target.Row).Formula = "=IF(ISBLANK(A" & Target.Row & "),0,$B$7*F" & Target.Row & "*(1+G" & Target.Row & "))" Range("i" & Target.Row).Formula = "=IF(ISBLANK(A" & Target.Row & "),0,E" & Target.Row & "*H" & Target.Row & ")" End If End Sub بالتوفيق 1 رابط هذا التعليق شارك More sharing options...
gamalin2 قام بنشر يونيو 29, 2021 الكاتب مشاركة قام بنشر يونيو 29, 2021 اكرمك الله وزادك من العلم النافع ونفع بك اخي الكريم نقلت الكود ونفذ المطلوب بخفة ورشاقة ولا اروع من ذلك وده بيعفيني من اني اعمل المعادلات في الشيت في عدد كبير و يكبر حجم الملف اشكرك شكرا جزيلا تحياتي محاسب / محمد الو الجملين رابط هذا التعليق شارك More sharing options...
أ / محمد صالح قام بنشر يونيو 29, 2021 مشاركة قام بنشر يونيو 29, 2021 وفقنا الله جميعا لكل خير رابط هذا التعليق شارك More sharing options...
gamalin2 قام بنشر يونيو 29, 2021 الكاتب مشاركة قام بنشر يونيو 29, 2021 (معدل) اخي الكريم اريد كتابة هذا السطر ليضيف المعادلة في العمود c ايضا ولم اعرف كتابتها بطريقة الكود الذي كتبته انت فهل اطمع في اضافتها للكود السابق ActiveCell.FormulaR1C1 = _ "=IFERROR(VLOOKUP(RC[-1],item!C[-1]:C[4],2,FALSE),"""")" ولو امكن الافادة كيف يمكن كاتبة الكود بالطريقة السابقة انا بدخل على الماكرو واسجل كتابة المعادلة و استخدمها في الكود لكن لا يكتبها المسجل كما كتبتها انت زفر التحية هناك امر اخر عند الانتهاء من التسجيل وترحيل الطلب بيتم افراغ النوذج وحذف الاسطر كلها هل سيم كتابة المعادة نتيجة لهذه الخطوة و في اي سطر تم تعديل يونيو 29, 2021 بواسطه gamalin2 رابط هذا التعليق شارك More sharing options...
gamalin2 قام بنشر يونيو 29, 2021 الكاتب مشاركة قام بنشر يونيو 29, 2021 الاخوة الافاضل استاذ محمد صالح رجو التكرم بمساعدتي في الاتي استكمال لنفس الكود والحالة اخي الكريم اريد كتابة هذا السطر ليضيف المعادلة في العمود c ايضا ولم اعرف كتابتها بطريقة الكود الذي كتبته انت فهل اطمع في اضافتها للكود السابق ActiveCell.FormulaR1C1 = _ "=IFERROR(VLOOKUP(RC[-1],item!C[-1]:C[4],2,FALSE),"""")" ولو امكن الافادة كيف يمكن كاتبة الكود بالطريقة السابقة انا بدخل على الماكرو واسجل كتابة المعادلة و استخدمها في الكود لكن لا يكتبها المسجل كما كتبتها انت زفر التحية هناك امر اخر عند الانتهاء من التسجيل وترحيل الطلب بيتم افراغ النوذج وحذف الاسطر كلها هل سيم كتابة المعادة نتيجة لهذه الخطوة و في اي سطر رابط هذا التعليق شارك More sharing options...
gamalin2 قام بنشر يونيو 29, 2021 الكاتب مشاركة قام بنشر يونيو 29, 2021 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 8 And Target.Column < 8 Then Range("c" & Target.Row).Formula = "=IFERROR(VLOOKUP(b" & Target.Row & ",item!C[-1]:C[4],2,FALSE),"""")" Range("h" & Target.Row).Formula = "=IF(ISBLANK(A" & Target.Row & "),0,$B$7*F" & Target.Row & "*(1+G" & Target.Row & "))" Range("i" & Target.Row).Formula = "=IF(ISBLANK(A" & Target.Row & "),0,E" & Target.Row & "*H" & Target.Row & ")" End If End Sub انا كتبته كده فتوقف عن العمل ودخل في حلقة وهنج الملف فما الخطأ رابط هذا التعليق شارك More sharing options...
أفضل إجابة أ / محمد صالح قام بنشر يونيو 29, 2021 أفضل إجابة مشاركة قام بنشر يونيو 29, 2021 رجاء تحويل المعادلة للصورة العادية أفضل من نمط R1C1 واستعمل هذا الكود تم إضافة شرط العمود لا يساوي 3 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 8 And Target.Column < 8 And Target.Column <> 3 Then Range("c" & Target.Row).Formula = "=a1+b1" Range("h" & Target.Row).Formula = "=IF(ISBLANK(A" & Target.Row & "),0,$B$7*F" & Target.Row & "*(1+G" & Target.Row & "))" Range("i" & Target.Row).Formula = "=IF(ISBLANK(A" & Target.Row & "),0,E" & Target.Row & "*H" & Target.Row & ")" End If End Sub ضع المعادلة مكان =a1+b1 مع استبدال رقم الصف ب Target.Row بالتوفيق رابط هذا التعليق شارك More sharing options...
gamalin2 قام بنشر يونيو 30, 2021 الكاتب مشاركة قام بنشر يونيو 30, 2021 اشكرك اخي الكريم تم رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان