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

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

قام بنشر

السلام عليكم ورحمة اله وبركاته
الأخوة الأفاضل السلام عليكم ورحمة الله وبركاته
اريد تحويل هذه المعادلة الى كود هل هذا ممكن مع عدم اظهارها في الخليه وتكون النتيجة في خلية c   وجزاكم الله خير

=A1(A1-B1)

مع جزيل الشكر ، وجزاكم الله خير الجزاء

قام بنشر

الأخ الكريم أحمد

أهلا بك في المنتدى

يرجى تغيير اسم الظهور للغة الزهور اللغة العربية

 

إليك الكود التالي عله يفي بالغرض

Sub ConvertFormulaToVBA()
'لتظهر النتائج في العمود الثالث [=A1(A1-B1)] يقوم الكود بتحويل المعادلة
'----------------------------------------------------------------------
    Dim I As Long
    Application.ScreenUpdating = False
'حلقة تكرارية من الصف الأول لآخر صف به بيانات في العمود الأول
        For I = 1 To Cells(Rows.Count, 1).End(xlUp).Row
'الخلية في العمود الثالث تساوي الخلية في العمود الأول مضروبة في الفرق بين الخليتين
            Cells(I, 3) = Cells(I, 1) * (Cells(I, 1) - Cells(I, 2))
'الانتقال للخلية التالية
        Next I
    Application.ScreenUpdating = True
End Sub

يرجى فيما بعد وضع المعادلات بين أقواس التنصيص الخاصة بالكود حتى تظهر بشكل منضبط

تقبل تحياتي

Convert Formula To VBA.rar

  • Like 1
قام بنشر

شكرا اخي ياسر على تجاوبك

لقد تم تعديل الاسم الى اللغة العربية 

انا اسف لقد قمت بكتابة المعادلة بشكل خاطي والمعادلة الصحيحية هي كالتالي 

b1-a1)/a1)

وهي حاصل طرح b1-a1  قسمة a1

 

 

مع الشكر لجهودك

قام بنشر

الاخ ياسر

لقد قمت بالتعديل على المعادلة كالتالي

Sub ConvertFormulaToVBA()

    Dim I As Long
    Application.ScreenUpdating = False
        For I = 1 To Cells(Rows.Count, 1).End(xlUp).Row
           
              Cells(I, 3) = (Cells(I, 2) - Cells(I, 1)) / Cells(I, 1)
        Next I
    Application.ScreenUpdating = True
End Sub
هل هذا التعديل صحيح حسب فهم المعادلة اعلاه
  • Like 1
قام بنشر

جرب الكود بهذا الشكل

Sub ConvertFormulaToVBA()
'لتظهر النتائج في العمود الثالث [=(B1-A1)/A1] يقوم الكود بتحويل المعادلة
'----------------------------------------------------------------------
    Dim I As Long
    Application.ScreenUpdating = False
'حلقة تكرارية من الصف الأول لآخر صف به بيانات في العمود الأول
        For I = 1 To Cells(Rows.Count, 1).End(xlUp).Row
'إذا كانت الخلية في العمود الأول تساوي صفر لا يتم تنفيذ السطر التالي ويتم الانتقال للسطر الذي بدايته 1
            If Cells(I, 1) = 0 Then GoTo 1
'الخلية في العمود الثالث تساوي الفرق بين الخليتين ثم القسمة على الخلية في العمود الأول
            Cells(I, 3) = (Cells(I, 2) - Cells(I, 1)) / Cells(I, 1)
'الانتقال للخلية التالية
1        Next I
    Application.ScreenUpdating = True
End Sub
  • تمت الإجابة
قام بنشر

ولا يهمك يا أخ أحمد

جرب

Sub ConvertFormulaToVBA()
'لتظهر النتائج في العمود الثالث [=(B1-A1)/A1] يقوم الكود بتحويل المعادلة
'----------------------------------------------------------------------
    Dim I As Long
    Application.ScreenUpdating = False
'حلقة تكرارية من الصف الأول لآخر صف به بيانات في العمود الأول
        For I = 1 To Cells(Rows.Count, 1).End(xlUp).Row
'إذا كانت الخلية في العمود الأول تساوي صفر لا يتم تنفيذ السطر التالي ويتم الانتقال للسطر الذي بدايته 1
            If Cells(I, 1) = 0 Then Cells(I, 1) = 1
'الخلية في العمود الثالث تساوي الفرق بين الخليتين ثم القسمة على الخلية في العمود الأول
            Cells(I, 3) = (Cells(I, 2) - Cells(I, 1)) / Cells(I, 1)
'الانتقال للخلية التالية
        Next I
    Application.ScreenUpdating = True
End Sub

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