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
نزار سليمان عيد قام بنشر يونيو 28, 2021 قام بنشر يونيو 28, 2021 اتوقع المشكلة اسم الصفحه خليها PO مباشرة بدون _
gamalin2 قام بنشر يونيو 28, 2021 الكاتب قام بنشر يونيو 28, 2021 اخي نزار شكرا لمروك الكريم بس هو هيفرق في ايه اسم الصفحة اذا كان الاسم مقبول في الاكسل فاي اسم مش يفرق والا ايه
أ / محمد صالح قام بنشر يونيو 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
gamalin2 قام بنشر يونيو 29, 2021 الكاتب قام بنشر يونيو 29, 2021 اكرمك الله وزادك من العلم النافع ونفع بك اخي الكريم نقلت الكود ونفذ المطلوب بخفة ورشاقة ولا اروع من ذلك وده بيعفيني من اني اعمل المعادلات في الشيت في عدد كبير و يكبر حجم الملف اشكرك شكرا جزيلا تحياتي محاسب / محمد الو الجملين
gamalin2 قام بنشر يونيو 29, 2021 الكاتب قام بنشر يونيو 29, 2021 (معدل) اخي الكريم اريد كتابة هذا السطر ليضيف المعادلة في العمود c ايضا ولم اعرف كتابتها بطريقة الكود الذي كتبته انت فهل اطمع في اضافتها للكود السابق ActiveCell.FormulaR1C1 = _ "=IFERROR(VLOOKUP(RC[-1],item!C[-1]:C[4],2,FALSE),"""")" ولو امكن الافادة كيف يمكن كاتبة الكود بالطريقة السابقة انا بدخل على الماكرو واسجل كتابة المعادلة و استخدمها في الكود لكن لا يكتبها المسجل كما كتبتها انت زفر التحية هناك امر اخر عند الانتهاء من التسجيل وترحيل الطلب بيتم افراغ النوذج وحذف الاسطر كلها هل سيم كتابة المعادة نتيجة لهذه الخطوة و في اي سطر تم تعديل يونيو 29, 2021 بواسطه gamalin2
gamalin2 قام بنشر يونيو 29, 2021 الكاتب قام بنشر يونيو 29, 2021 الاخوة الافاضل استاذ محمد صالح رجو التكرم بمساعدتي في الاتي استكمال لنفس الكود والحالة اخي الكريم اريد كتابة هذا السطر ليضيف المعادلة في العمود c ايضا ولم اعرف كتابتها بطريقة الكود الذي كتبته انت فهل اطمع في اضافتها للكود السابق ActiveCell.FormulaR1C1 = _ "=IFERROR(VLOOKUP(RC[-1],item!C[-1]:C[4],2,FALSE),"""")" ولو امكن الافادة كيف يمكن كاتبة الكود بالطريقة السابقة انا بدخل على الماكرو واسجل كتابة المعادلة و استخدمها في الكود لكن لا يكتبها المسجل كما كتبتها انت زفر التحية هناك امر اخر عند الانتهاء من التسجيل وترحيل الطلب بيتم افراغ النوذج وحذف الاسطر كلها هل سيم كتابة المعادة نتيجة لهذه الخطوة و في اي سطر
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 انا كتبته كده فتوقف عن العمل ودخل في حلقة وهنج الملف فما الخطأ
أفضل إجابة أ / محمد صالح قام بنشر يونيو 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 بالتوفيق
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.