اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

الاخوة الافاضل 

اريد كود يدرج معادلة في خلية معينه عند اجراء تعديل على الشيت 

في اخر سطر دوما 

او مراجعة الكود التالي وافادتي ما الخطأ به 

 

 

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

 

 

 
 
قام بنشر

اخي نزار شكرا لمروك الكريم 

بس هو هيفرق في ايه اسم الصفحة اذا كان الاسم مقبول في الاكسل فاي اسم مش يفرق والا ايه

قام بنشر

تكمن المشكلة في أنك تقوم بعمل سلسلة لا نهائية من استدعاء الكود

بحيث أن تقوم بتغيير المعادلة وهذا تغيير يتطلب تغيير المعادلة وهكذا

وحل هذه المشكلة في تحديد نطاق التغيير مثلا بعد الصف 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

بالتوفيق

  • Like 1
قام بنشر

اكرمك الله وزادك من العلم النافع ونفع بك اخي الكريم نقلت الكود ونفذ المطلوب بخفة ورشاقة ولا اروع من ذلك وده بيعفيني من اني اعمل المعادلات في الشيت في عدد كبير و يكبر حجم الملف اشكرك شكرا جزيلا

تحياتي محاسب / محمد الو الجملين

قام بنشر (معدل)

اخي الكريم اريد كتابة هذا السطر ليضيف المعادلة في العمود c  ايضا ولم اعرف كتابتها بطريقة الكود الذي كتبته انت فهل اطمع في اضافتها للكود السابق 

 

    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-1],item!C[-1]:C[4],2,FALSE),"""")"
 
ولو امكن الافادة كيف يمكن كاتبة الكود بالطريقة السابقة انا بدخل على الماكرو واسجل كتابة المعادلة و استخدمها في الكود لكن لا يكتبها المسجل كما كتبتها انت  
زفر التحية 
 
هناك امر اخر عند الانتهاء من التسجيل وترحيل الطلب بيتم افراغ النوذج وحذف الاسطر كلها هل سيم كتابة المعادة نتيجة لهذه الخطوة و في اي سطر
 

 

تم تعديل بواسطه gamalin2
قام بنشر

الاخوة الافاضل 

استاذ محمد صالح 

رجو التكرم 

بمساعدتي في الاتي استكمال لنفس الكود والحالة 

اخي الكريم اريد كتابة هذا السطر ليضيف المعادلة في العمود c  ايضا ولم اعرف كتابتها بطريقة الكود الذي كتبته انت فهل اطمع في اضافتها للكود السابق 

    ActiveCell.FormulaR1C1 = _

        "=IFERROR(VLOOKUP(RC[-1],item!C[-1]:C[4],2,FALSE),"""")"
 
ولو امكن الافادة كيف يمكن كاتبة الكود بالطريقة السابقة انا بدخل على الماكرو واسجل كتابة المعادلة و استخدمها في الكود لكن لا يكتبها المسجل كما كتبتها انت  
زفر التحية 
 
هناك امر اخر عند الانتهاء من التسجيل وترحيل الطلب بيتم افراغ النوذج وحذف الاسطر كلها هل سيم كتابة المعادة نتيجة لهذه الخطوة و في اي سطر
 

 

 

قام بنشر
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


انا كتبته كده فتوقف عن العمل ودخل في حلقة وهنج الملف فما الخطأ

  • أفضل إجابة
قام بنشر

رجاء تحويل المعادلة للصورة العادية أفضل من نمط 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.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information