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

كود يفتح جميع الملفات ويضع القرار "ينتقل" " يكرر"


إذهب إلى أفضل إجابة Solved by أ / محمد صالح,

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

السلام عليكم ... من فضلكم ... أحتاج كود vba excel

أضعه في زر ملف إكسيل المرفق بمجرد الضغط عليه يقوم بفتح جميع ملفات إكسيل كيفما كان عددها وتسميتها ويذهب إلى آخر عمود باسم "قرار المجلس" ويضع فيها القرار  بناء على القيمة التي في العمود باسم "المعدل العام" بحيث يحقق المعادلة التالية:إن كانت القيمة في عمود المعدل العام أكبر من أو تساوي 5 يضع في عمود  "قرار المجلس" ينتقل وإن كانت القيمة في عمود المعدل العام أصغرمن 5 يضع في عمود  "قرار المجلس" يكرر

للإشارة فقط فإني أضع هذا القرار بالمعادلة في كل ملف لكن أحتاج كود vba excel لكي يضعها بضغطة زر في كل ملفات إكسيل كيفما كان عددها وتسميتها الموجودة في نفس الملف الأصفر التي يتواجد فيه ملف إكسيل الذي يتواجد فيه الزر المبرمج .. وجزاكم الله خيرا

زر وضع القرار.xlsm

رابط هذا التعليق
شارك

  • أفضل إجابة

المشكلة في هذه الملفات هو اختلاف عدد الأعمدة في الشيتات 10 و11 و12

ولكن تم التغلب عليها بإذن الله

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

Sub insertformula()
Application.ScreenUpdating = 0
Dim strfile As String, objBook As Workbook, lr As Long, c As Integer
strfile = Dir(ThisWorkbook.Path & "\*.xlsx", vbNormal)
While strfile <> ""
Set objBook = Workbooks.Open(ThisWorkbook.Path & "\" & strfile)
c = objBook.Sheets("data").Range("b10").CurrentRegion.Columns.Count
lr = objBook.Sheets("data").Range(IIf(c = 10, "j", "l") & Rows.Count).End(xlUp).Row
objBook.Sheets("data").Range(IIf(c = 10, "k", "m") & "12").Formula = "=IF(Or(" & IIf(c = 10, "j", "l") & "12<5," & IIf(c = 10, "j", "l") & "12=""ن.م.ر""),""يكرر"",""ينتقل"")"
objBook.Sheets("data").Range(IIf(c = 10, "k", "m") & "12").AutoFill Destination:=objBook.Sheets("data").Range(IIf(c = 10, "k", "m") & "12:" & IIf(c = 10, "k", "m") & lr)
objBook.Sheets("data").Range("b12").Select
objBook.Close 1
strfile = Dir()
Wend
Application.ScreenUpdating = 1
MsgBox "Done"
End Sub

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

ثم عد الأعمدة ووضع المعادلة

ثم حفظ المصنف وإغلاقه

بالتوفيق

  • Like 2
رابط هذا التعليق
شارك

الأستاذ الكريم:محمد صالح

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

لكن أستاذي الكريم كرما وليس أمرا أريد مزيدا من تعديل أو تطوير في الكود بحيث يناسب كيفما كانت الملفات بغض النظر عن عدد الملفات وتسميتها

لاحظ مثلا لو غيرت اسم الملف الأخير (بتغيير 12 إلى 13 )ووضعت لأخد التلاميذ معدلا عاما أقل من 5 لن تكون النتيجة سليمة

1-في هذه الملفات المستويات: التي لها قرار المجلس في العمود K هي المستويات:الأول والثاني والثالث والرابع والخامس 

2- المستوى الوحيد الذي له قرار المجلس في العمود M هو المستوى السادس

3- عدد الأقسام في كل مستوى متغير فمثلا هذه السنة كل المستويات بها قسمان باستثناء السادس ابتدائي به ثلاث أقسام وها الأمر يختلف سنة بعد أخرى هناك مستويات ممكن أن تكون بها ثلاثة أو أربعة أقسام لذلك أريد كودا صالحا دائما

4- هل ممكن إنشاء كود بدلالة آخر عمود به بيانات وانطلاقا من السطر 12 أو كود يتحسس الخانة F7 بحيث إن كان بها : السادس ابتدائي عام يضع القرار في العمود M وإن كان بها غير ذلك يضع القرار في العمود K بغض النظر عن عدد الملفات وتسميتها.

جزاكم الله خيرا وأحسن إليكم وأتابكم الجنة

ملف الوثائق.rar

رابط هذا التعليق
شارك

جزاك الله خيرا وأحسن إليك أستاذي الكريم

في الحقيقة وجدت ما طلبته في ردي السابق متوفرا في كودك القيم الرائع ولكن لا أتوفر على أيقونة تعديل الرد

بقيت مسألة جزاك الله خيرا

أحيانا التلميذ الذي يتغيب يوم  الامتحان تظهر تكتب له اللجنة في المعدل العام عبارة "ن.م.ر" معناها نقطة موجبة للرسوب

لكن بالمعادلة والكود السابقين سيوضع له في القرار "ينتقل"

يمكنكم تجربة ذلك عبر وضع "ن.م.ر" في المعدل العام وتنفيذ الكود

كيف يمكن تجاوز ذلك في الكود السابق بحيث من عنده في المعدل العام "ن.م.ر" يكتب له في قرارالمجلس "يكرر"

جزاكم الله خيرا وأحسن إليكم

  • Like 1
رابط هذا التعليق
شارك

شكرا لكلماتك الطيبة

تم تعديل سطر المعادلة وإضافة شرط أن تكون درجة المعدل أقل من 5 أو يساوي "ن.م.ر" في المشاركة السابقة لي

بالتوفيق

  • Thanks 1
رابط هذا التعليق
شارك

جميعا بإذن الله

الان, hicham2610 said:

بم تنصحني أخي الكريم لإحتراف إتقان وضع أكواد vba بمثل هذا الاحتراف

جزاكم الله خيرا وأتابكم الجنة

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

بل حتى الموضوعات العادية هي كنز لمن يريد أن يتعلم

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information