محمد7788 قام بنشر يونيو 29, 2022 قام بنشر يونيو 29, 2022 فى الملف المرفق فى شيت باسم sheet1 عند الضغط على زر حذف لحذف احد المدرسين يحدث خلل فى شيت "كل مادة على حدى" وكذلك شيت "1م تنسيق" وهل ممكن استبدال المعادلات فى الشيتين بأكواد؟ نموذج1.xlsm
أ / محمد صالح قام بنشر يونيو 29, 2022 قام بنشر يونيو 29, 2022 أخي الكريم ينبغي عليك أن تسأل مصمم البرنامج لأن المحدوف ويعطي خطأ ref بيانات من شيت محذوف به البيانات الرئيسية مثل القطاع والمعهد وهكذا بالتوفيق
محمد7788 قام بنشر يونيو 29, 2022 الكاتب قام بنشر يونيو 29, 2022 استاذ محمد صالح البرنامج فى الأساس من تصميمي بمساعدة حضراتكم فى المنتدى انا محمد عبدالحميد عصر ثم جاء الاستاذ احمد وأضاف له بعض الإضافات بالاتفاق معى والان نحن الاثنان نعمل عليه لانهائه حضرتك ممكن تتواصل مع الأستاذ احمد وهو يوضح الكلام ده لحضرتك وانا قمت بحذف باقى الشيتات علشان حجم الملف واقدر ارفعه هنا ..وياريت نلاقى عند حضرتك حل للموضوع ده نحله ازاى ؟ استاذ محمد حضرتك اذا دخلت على صفحة معلم كل مادة على حدى واختارة مادة القران الكريم ستجد كلى معلمى القران الكريم ببياناتهم تمام؟ اذهب بعد ذلك الى شيت 1 اللى فيه ادخال البيانات واستدعى بيانات اى مدرس وقم بعمل حذف له من ذر الحذف تمام؟ ثم اذهب الى شيت معلمى المادة مرة اخرى واختار مثلا مادة القران ستجد انه لايوجد بيانات اصلا لاى احد المفترض انى يتم حذف المدرس اللى انت حذفته فقط؟؟؟
أفضل إجابة أ / محمد صالح قام بنشر يونيو 29, 2022 أفضل إجابة قام بنشر يونيو 29, 2022 مشكلة عدم ظهور أحد في صفحة كل معلم على حدى يرجع إلى عدم دقة معادلة الفلتر جرب استعمال هذه المعادلة في الخلية 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 مع تكرار السطرين الثالث والرابع مع كل نطاق له معادلة محتلفة رغم أني لا أميل أبدا إلى موضوع تحويل المعادلات إلى أكواد فهذا يستهلك موارد الجهاز فيما لا يفيد المستخدم ولا يحمي المعادلات بالتوفيق 1
محمد7788 قام بنشر يوليو 3, 2022 الكاتب قام بنشر يوليو 3, 2022 تمام تم الاجابة عن المطلوبين وسوف ارفع المطلوب الجديد فى موضوع جديد
الردود الموصى بها