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

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

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

السلام عليكم

 

أحيي الجميع في هذا الصرح التعليمي الكبير

 

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

أريد أن أحول هذه المعادلات إلى أكواد VBA ولكن بشكل تدريجي

 

أريد أن نبدأ بهذه المعادلة ,وهي معادلة صفيف

{=IF(OR(ISBLANK(C7:AF7));"";ROUND(SUM(BB7;BI7;BP7;BW7);0))} 

تقع المعادلة في الخليه AH7  في ورقة عمل إسمها (1) أي رقم 1 وهذه المعادلة موجوده في كل خليه حتى AH71 يعني في النطاق AH7:AH71

=IF(OR(ISBLANK(C7:AF7)),"""",ROUND(SUM(BB7,BI7,BP7,BW7),0))

المشكلة : الشق الأول لا يعمل

=IF(OR(ISBLANK(C7:AF7)),"""",

فقط الشق الثاني يعمل

ROUND(SUM(BB7,BI7,BP7,BW7),0)

1- أريد  صياغة كود يفحص النطاق C7:AF7 إذا به إي خليه فارغة فانه يرجع الخليه AH فراغ وإذا النطاق مكتمل بالبيانات فإنه يعمل بالشق الثاني من المعادلة

ويكون نفس هذا الكود يعمل على 13 ورقة عمل بنفس نظام الورقة الأولى في نفس الملف لأن الأوراق متاشبه في التنظيم يختلف التاريخ فقط

 

2- أين نضع هذا الكود بالضبط :هل في workbook أو مودويل أو في أي الشيت ؟

أذا أردته ينفذ الأمر على 13 ورقة  وكذلك يحث نفس تلقائي بمجرد فتح الملف وكذلك بمجرد إجراء أي تغيير أثناء العمل على البيانات

 

آسف على الإطالة .... ولكم جزيل الشكر

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

السلام عليكم

المعادلة لا تعمل لأنها ناقصة

((IF(OR(ISBLANK(C7:AF7)),"""",ROUND(SUM(BB7,BI7,BP7,BW7),0=       

,يجب ان تضع فاصلة بين """" لتصبح هكذا  "",""

 

أخي المعادله ليست ناقصة في محرر الفيجوال بيسك ومع هذا وضعتها هكذا  "","" فلم تعمل

 

أصل المعادله في الإكسل معادلة صفيف فأنا أريدها أن تعمل ككود وأريد تنفيذ باقي الخطوات ولكني لا أعرف صياغة الكود

لأني سمعت أن isblank لا تعمل مع VBA فاردت الحل

{=IF(OR(ISBLANK(C7:AF7));"";ROUND(SUM(BB7;BI7;BP7;BW7);0))}
قام بنشر

أخوي سليم بارك الله فيك إنت أسئت فهم ما أريده أنا 

 

أنا لم أشتكي أن المعادله لا تعمل 

المعادله تعمل مع 100% ولا توجود بها أدنى مشكله عندما تكون كمعادلة في أكسل

{=IF(OR(ISBLANK(C7:AF7));"";ROUND(SUM(BB7;BI7;BP7;BW7);0))}

فقط أردت صياغة معادلة الصفيف هذه ككود فيجوال بيسك 

فأنا مبتدئ كما ذكرت

 

 

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

Selection.FormulaArray = _
 "=IF(OR(ISBLANK(C7:AF7)),"""",ROUND(SUM(BB7,BI7,BP7,BW7),0))"

المعادله هذه تعمل

ولكن المشكله تعمل في خليه واحده فقط وتعمل فقط عن إختيار الخليه بالفأره  وهذا الذي لا أرغب به

----------------------------

 

كل ما أردته ذكرته في المشاركة رقم واحد 1

 

فا ريت المساعده منك ومن باقي الأخوان في صياغة كود كامل 

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information