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

مشكلة عند حذف صف تختفي نتيجة البحث في صفحات البحث


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

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

فى الملف المرفق فى شيت باسم 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