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

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

قام بنشر

اخواني الاعزاء تحية طيبه في المرفق ورقة باسم ( الصادر ) تتضمن في العمود (X)معادلات ارجو التفضل بالمساعده لتضمينها في كود ابتعادا عن امكانية العبث بها ورغبة في تقليل حجم الملف والاسراع في الترحيل مع الامتنان

formulas2code.zip

قام بنشر

السلام عليكم

=====

اخى :: العزيز

Sub hh()

Application.ScreenUpdating = False

    Range("X5").Select

    ActiveCell.FormulaR1C1 = _

        "=SUMPRODUCT(--(R5C16:R1500C16=RC[-8]),R5C20:R1500C20)"

    Range("X6").Select

    ActiveCell.FormulaR1C1 = _

        "=IF(EXACT(R[-1]C[-8],RC[-8]),"""",SUMPRODUCT(--(R5C16:R1500C16=RC[-8]),R5C20:R1500C20))"

    Range("X6").Select

    Selection.AutoFill Destination:=Range("X6:X1500"), Type:=xlFillDefault

    Range("X6:X1500").Select

    Sheets("الصادر").Select

    Range("Y6").Select



End Sub

906211977.gif

formulas2code1.rar

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

السلام عليكم

للإضافة

مع جزيل الشكر لأخينا الأستاذ هشام

هذا المطلوب بسطر واحد من الكود

وبدون أن تظهر المعادلة أصلا فى الخلية

درة غالية

لكن ما تغلى عليكم

كل عام أنتم بخير

أخى ضع السطر التالى فى حدث نقر الزر

Range("x5") = Application.Evaluate("SUMPRODUCT((P5:P1500=P5)*(T5:T1500))")

كما يمكنك استخدام دالة sum هكذا
Range("x5") = Application.Evaluate("SUM((P5:P1500=p5)*T5:T1500)")

المرفق

formulas2code-kemas.rar

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

السلام عليكم

استاذنا هشام شلبي كود رائع

واستاذنا كيماس افكارك دائمة رائعة

ومنكم نستفيد

جزاكم الله كل خير

:clapping::clapping::clapping:

:fff::fff::fff:

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

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

قام بنشر

السلام عليكم

=====

اخى :: tofimoon4

"ببالراحة علينا شوية" كل عام وانت بخير

ستضيف هذا الجزء على الكود لكى لا تظهر المعادلات ولا تزعل

Range(Range("x5"), Range("x6").End(xlDown)).Select

    Selection.Value = Selection.Value
واليك كود اخر اخف حجما
Option Explicit


Sub hh()

    Range("X5").FormulaR1C1 = _

    "=SUMPRODUCT(--(R5C16:R1500C16=RC[-8]),R5C20:R1500C20)"

    Range("X6").FormulaR1C1 = _

    "=IF(EXACT(R[-1]C[-8],RC[-8]),"""",SUMPRODUCT(--(R5C16:R1500C16=RC[-8]),R5C20:R1500C20))"

    Range("X6").AutoFill Destination:=Range("X6:X1500"), Type:=xlFillDefault

    Range("X5:X1500").Value = Range("X5:X1500").Value

End Sub

شاهد المرفق

906211977.gif

formulas2code3.rar

قام بنشر

السلام عليكم

كل عام وانتم بالف الف خير وبركة

رمضان كريم على الجميع

لاثراء الموضوع

هل يمكن للكود او هل يوجد كود يقوم هو بتحويل المعادلات الى اكواد

بمعنى لو عندي شيت به معادلات في اكثر من عمود هل يوجد كود يحول المعادلات الى اكواد

هذا الموضوع ذكرني ببرنامج للاستاذعمرو الحسيني ابو تامر كان له برنامج لتحويل المعادلات الى اكواد ولكنه ليس عندي الان فهل من الممكن تحيق ذلك وان يكون الكود غير مرتبط بماكرو اي انه تنفيذ ذاتي لا يحتاج الى ازرار

فكرة طرئت على بالي هل يوجد طريقة لتنفيذها

لكم الشكر والمحبة والود

اخوكم ابو ايات

قام بنشر

اخواني الاعزاء تحية طيبه حاولت عدم اشغالكم مرة اخرى بالموضوع لانشغالكم بامور اهم واعتمدت على معلوماتي الضئيله للوصول الى الهدف ولكن لم افلح , الغاية من المعادلتين في المثال ايجاد مبلغ كل قائمه (مبلغ القائمه 145 هو 3800 والقائمه 146 هو 3450 وهكذا ) ومع احترامي وتقديري لجميع الاخوة الاعزاء على ما جادوا به لم يتم التوصل الى الحل المطلوب ففي حل الاستاذ القدير كيماس ( المعادلات موجوده وغير مخفيه كما ان الزر لم يوصلني الى الغاية )اي ان الحل معتمد على المعادلات لا على الكود وارجو ان يسع صدره ملاحظاتي

وفي حل الاستاذ القدير هشام ( مبالغ القوائم لم تظهر حسب اقيام المواد وارقام القوائم كما ان هناك مشكلة ما في الكود تؤخر استقرار الملف وظهور الزر ويبقى الملف مرتجفا عدة ثوان مانعا تشغيل الزر وملفات اكسل اخرى )اتمنى ان يكون السبب عندي .

ارجو اساتذتنا الكرام ان تكون الملاحظات معينا لي في التوصل الى الهدف ادامكم الرحمن سندا ومرجعا لنا .

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

( المعادلات موجوده وغير مخفيه كما ان الزر لم يوصلني الى الغاية ) .

أخى الفاضل

لقد استعجلت فى النظر للملف

أنت طلبت إخفاء المعادلة فى x5

و هذا تم كما طلبت فى ملفى الأول

لو تفضلت و راجعت الملف

أما الخلية x8

فلم أتعرض لها

فمعادلتها مختلفة

عموما تم عمل نفس الشىء مع الخلية x8

تفضل

استخدام sumproduct , sumif فى الكود.rar

تم تعديل بواسطه kemas
  • Like 1
قام بنشر

استاذنا العزيز مع شكري وتقديري لا يزال الهدف بعيدا حيث لا تزال المعادلات ضمن العمود (x) هي سيدة الموقف , ما وددت التوصل اليه هو الغاء ظهور اية معادله في هذا العمود والاعتماد في تنفيذ المطلوب من هذه المعادلات على الكود فقط ويمكن ابقاء المعادله الموجوده في مثالي ضمن اول رساله(اي في x5) دون اخفاء والتركيز على المعادلات الموجوده من (x6) فصاعدا لانها تمثل ثقل الورقة متمنيا ان لا اكون اثقلت عليكم مع الامتنان

قام بنشر

استاذنا العزيز " ابو عمر " كيماس :

لا اعرف ان كان ردك يناسب صاحب السؤال

ولكنه رائع حقـــــــــــــــا ... جزاك الله كل الخير

استغل هذه الصفحة لاقول لحضرتك : رمضان مبارك وكل عام وانت ومن حولك بخير

وفقك الله

ياسر الحافظ " ابو الحارث "

قام بنشر

أخى العزيز ياسر الحافظ

لقد عثرنا - بفضل الله - أثناء إجابة السائل

على كنز عظيم

يمكننا من وضع أى معادلة فى الكود

ويتم تنفيذها بدون أن تظهر فى الشيت

كل عام أنت بخير أخى ياسر و أهل سوريا جميعا

الأخ السائل

عدنا للأكواد

هذا كود ينفذ المطلوب

قبل أن تتغير قيمة الخلية فى العمود p

يتم الجمع فى العمود x

خذ الملف

استخدام 2sumproduct , sumif فى الكود.rar

  • Like 1
قام بنشر

أخى العزيز ياسر الحافظ

لقد عثرنا - بفضل الله - أثناء إجابة السائل

على كنز عظيم

يمكننا من وضع أى معادلة فى الكود

ويتم تنفيذها بدون أن تظهر فى الشيت

كل عام أنت بخير أخى ياسر و أهل سوريا جميعا

اخي واستاذي " كيماس " الغالي

بداية سررتني جدا ( بعد منتصف الليل بساعة ) فهذا العمل صفحة مستقلة جديدة تضاف الى كتاب تميزك العامر

و اشكرك على كلماتك الطيبة

وفقك الله

ياسر الحافظ " ابو الحارث "

قام بنشر

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

قام بنشر

نعم أستاذ

بارك الله فيك

الخاصية evaluate

تقوم بتقييم أى معادلة

يعنى لو عندك معادلة شغالة بدون مشاكل فى الشيت

يمكنك تقييمها من خلال الكود باستخدام evaluate

و تقييمها معناه حسابها

و إرجاع قيمتها النهائية " القيمة و ليس المعادلة

كما شاهدت فى ملفك

بشرط ألا تزيد حروفها على 255 حرفا

أيضا لا نضع علامة "=" معها

هكذا

Range("x5") = Application.Evaluate("SUMPRODUCT((P5:P1500=P5)*(T5:T1500))"

و هذه الخاصية مشابهة لخاصية calculate

قام بنشر

الاخ / الاستاذ " كيمـــــــــاس " ابو عمر الغالي:

كل الشكر للجميع

الحقيقة ما توصلتم اليه ( كمجموعة عمل ) من خلال ردودكم ومتابعاتكم

كاكانت نتيجته مميزة جدا ... كل الشكر لكل من ساهم ...

الشكر الجزيل للاستاذ- خـــــــــبور خير

وفقكم الله

ياسر الحافظ " ابو الحارث "

ي

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