اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

فى الملف المرفق فى شيت باسم sheet1 عند الضغط على زر حذف لحذف احد المدرسين يحدث خلل فى شيت "كل مادة على حدى" وكذلك شيت "1م تنسيق"

وهل ممكن استبدال المعادلات فى الشيتين بأكواد؟

نموذج1.xlsm

قام بنشر

أخي الكريم

 ينبغي عليك أن تسأل مصمم البرنامج

2093204370_.png.382e0a2ee6b81ed024de757befa79cba.png

لأن المحدوف ويعطي خطأ ref بيانات من شيت محذوف به البيانات الرئيسية مثل القطاع والمعهد وهكذا

بالتوفيق

 

قام بنشر

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

حضرتك ممكن تتواصل مع الأستاذ احمد وهو يوضح الكلام ده لحضرتك

وانا قمت بحذف باقى الشيتات علشان حجم الملف واقدر ارفعه هنا ..وياريت نلاقى عند حضرتك حل للموضوع ده نحله ازاى ؟

 

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

اذهب بعد ذلك الى شيت 1 اللى فيه ادخال البيانات واستدعى بيانات  اى مدرس وقم بعمل حذف له من ذر الحذف تمام؟

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

 

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

مشكلة عدم ظهور أحد في صفحة كل معلم على حدى

يرجع إلى عدم دقة معادلة الفلتر

جرب استعمال هذه المعادلة في الخلية D9

=IFERROR(INDEX(sheet2!B$4:B$300,SMALL(IF(sheet2!$AK$4:$AK$300=$J$1,ROW(sheet2!B$4:B$300)),ROW($D1))),"")

ويمكنك سحبها يسارا ولأسفل

مع مراعاة بداية ونهاية النطاقات في مثل هذه المعادلات

ويمكن تحويلها إلى كود بأكثر من طريقة

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

مثلا

range("d9:d28").formulaarray = "=IFERROR(INDEX(sheet2!B$4:B$300,SMALL(IF(sheet2!$AK$4:$AK$300=$J$1,ROW(sheet2!B$4:B$300)),ROW()-8)),"""")"

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

range("d9:d28").value = range("d9:d28").value

وهكذا مع كل نطاق له معادلة مختلفة

 

وأقترح أن تربط ذلك بتغيير الخلية J1

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$1" Then
Range("d9:d28").FormulaArray = "=IFERROR(INDEX(sheet2!B$4:B$300,SMALL(IF(sheet2!$AK$4:$AK$300=$J$1,ROW(sheet2!B$4:B$300)),ROW()-8)),"""")"
Range("d9:d28").Value = Range("d9:d28").Value
MsgBox "Done by mr-mas.com"
End If
End Sub

مع تكرار السطرين الثالث والرابع مع كل نطاق له معادلة محتلفة

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

ولا يحمي المعادلات

بالتوفيق

  • Like 1
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information