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

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

قام بنشر

إخوتي في الله السلام عليكم ورحمة الله وبركاته أرجو تعديل كود الساقية في الملف المرفق ليحقق الشروط الآتية

أولا : لا يدخل الملاحظة نفس اللجنة مرتين

ثانيا : لا يجتمع الملاحظ مع ملاحظ آخر أكثر من مرة

ثالثا : الكود يكرر بعض اللجان أكثر من مرتين وقد يكرر اللجنة الواحدة أكثر من 4 مرات ويذكر بعض اللجان مرة واحدة فقط وهذا لا يجوز

رابعا : في ورقة الملاحظة أرجو استدعاء أسماء الملاحظين من ورقة الساقية عن طريق رقم الفترة واستدعاء الاحتياطي المحدد في ورقة الساقية إلى الجدول الموجود في صفحة الملاحظة والخاص بالاحتياطي

خامسا : في ورقة الملاحظة استدعاء رقم اللجنة والصف وأرقام الجلوس من ورقة بيانات   

جزاكم الله خيرا وأعانكم على تقديم يد العون والمساعدة

الساقية المعدلة.rar

قام بنشر

الأخ العزيز / سيد تيجر 

السلام عليكم ورحمة الله وبركاته

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

العمل هو للأستاذ كبير عبد الله قشير حفظه الله 

وهو له فترة منقطع عن الدخول في الموقع 

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

فأعتذر كثيرا لكم وأتمنى لكم التوفيق 

العفو

قام بنشر
8 ساعات مضت, الشهابي said:

الأخ العزيز / سيد تيجر 

السلام عليكم ورحمة الله وبركاته

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

العمل هو للأستاذ كبير عبد الله قشير حفظه الله 

وهو له فترة منقطع عن الدخول في الموقع 

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

فأعتذر كثيرا لكم وأتمنى لكم التوفيق 

العفو

شكرا لك استاذي علي مجهودك واتمني ان أجد من يقدم العون والمساعدة لأن الملف مهم جدا في عملنا وسوف يوفر الكثير من الوقت والمجهود

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

الأستاذ الفاضل الشهابي / سلام الله عليك ورحمته وبركاته

لي طلب بسيط عندك أتمنى أن تنفذه لي وهو أننى سوف أقوم بتوزيع اللجان يدويا كما في الملف المرفق في صفحة الساقية لحين أن نصل لحل في الكود لكي يقوم بالتوزيع فقا للشروط وما اتمناه وضع زر في صفحة الملاحظة يقوم باستدعاء رقم اللجنة والصف الدراسي وارقام الجلوس من صفحة بيانات وفي نفس الوقت يقوم باستدعاء اسماء الملاحظين وفقا لرقم الفترة من صفحة الساقية بمعنى عندما اختار ف1 يقوم باستدعاء شوقى وصلاح في لجنة 1 ، عادل ورمضان في لجنة 2 وهكذا لباقي اللجان ووضع سيد وعلى ووليد في جدول الاحتياطي اسفل الملاحظة اتمنى ان اكون قد اوصلت الفكرة المطلوبة لحضرتك واتمنى تحقيقها اذا تكرمت وجزاك الله خيرا

الساقية المعدلة2.rar

تم تعديل بواسطه سيد تيجر
قام بنشر
6 دقائق مضت, مصرى مصرى said:

الأستاذ سيد بارك الله فيك في فكرة الملف اتمنى ان تكمل الملف لنستفيد منه

شكرا لك أخي / مصرى أنا صممت الملف ولكن ليس عندى خبرة بالأكواد وفى انتظار أساتذتنا وخبرائنا ليكتمل العمل ويستفيد منه الجميع

قام بنشر

أخى الكريم

عن نفسى أشكرك لصبرك

وللعلم أنا لا أعرف شىء فى أمور المدارس من ( كنترول أو توزيع مراقبين أو خلافه )

ولكن هحاول أفيدك فى الجزء ال أعرفه ألا وهو الأكواد

بالنسبة للملف الأول أنا مثل ما قولتلك ليس عندى الفكرة الكاملة عن الموضوع 

بالنسبة للملف الثانى إل من تصميمك به مشكلة وهى أنه يوجد خلايا بها دمج وأنت تطلب أن تستعلم من خلال تلك البيانات 

فمعلومة لك أخى الكريم ( الترحيل أو الاستعلام ونقل البيانات لا يتم فى وجود خلايا مدمجة )

فبرجاء تعديل الملف 

  • Like 1
قام بنشر

الأخ العزيز / سيد تيجر 

السلام عليكم ورحمة الله وبركاته

أولا : أتقدم بالشكر الجزيل لأستاذنا القدير محمود الشريف أطال الله عمره وأمده بالصحة والعافية 

اقتباس

 ( الترحيل أو الاستعلام ونقل البيانات لا يتم فى وجود خلايا مدمجة )

فعلا فدمج الخلايا عدو الأكواد كما تعلمناه من أساتذة هذا المنتدى حفظهم الله

مما أظطرني إلى اللجو إلى المعادلات خاصة في النتائج الخاصة بالعمود (C)  ومن ثم تحويلها إلى كود

فهناك نطاقات معرفة تمت إضافتها ننبه عليها حتى لا تحذف وإلا لن يتم جلب البيانات وهي : 

( rang4 )  ، ( rang3 )  ،  ( rang2 )  ،  ( rang1 )  ،  ( rang )

وبالنسبة للإحتياطي تم عمل معادلات لعدد 4

هل هو كافي أم ربما يزيد عددهم ؟

قم بتغير الفترة في الخلية (J3) وسيتم استدعاء البيانات المطلوبة 

المهم جرب المرفق إن شاء الله تكون النتائج صحيحة 

تحياتي

الساقية المعدلة2.rar

  • Like 2
قام بنشر

بارك الله فيك أخي الغالي الشهابي ..كود جميل ولم أفهم المطلوب إلا بالإطلاع على الكود ..

قمت بإعادة عمل الكود باستخدام المصفوفات من باب اثراء الموضوع .. أرجو أن يفي بالغرض إن شاء الله

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

Sub Observation()
    Dim data        As Worksheet
    Dim ws          As Worksheet
    Dim sh          As Worksheet
    Dim f           As Boolean
    Dim arr         As Variant
    Dim temp()      As Variant
    Dim temp2()     As Variant
    Dim i           As Long
    Dim j           As Long
    Dim x           As Long
    Dim last        As Long

    Set data = Sheets("بيانات")
    Set ws = Sheets("الساقية")
    Set sh = Sheets("الملاحظة")
    arr = ws.Range("B7:O" & ws.Cells(Rows.Count, 3).End(xlUp).Row).Value
    ReDim temp(0)
    ReDim temp2(0)

    With Application
        .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False
    End With
        sh.Range("B10:F39,C42:C45").ClearContents
    
        For j = 1 To UBound(arr, 2)
            If arr(1, j) = sh.Range("J3").Value Then f = True: Exit For
        Next j
    
        If f Then
            For x = 1 To 15
                For i = 2 To UBound(arr, 1)
                    If arr(i, j) = x Then
                        temp(UBound(temp)) = arr(i, 2)
                        ReDim Preserve temp(UBound(temp) + 1)
                    End If
                Next i
            Next x
        
            For i = 2 To UBound(arr, 1)
                If arr(i, j) = "ح" Then
                    temp2(UBound(temp2)) = arr(i, 2)
                    ReDim Preserve temp2(UBound(temp2) + 1)
                End If
            Next i
        
            ReDim Preserve temp(UBound(temp) - 1)
            ReDim Preserve temp2(UBound(temp2) - 1)
            last = UBound(temp) + 10
        
            sh.Range("C10").Resize(UBound(temp) + 1).Value = Application.Transpose(temp)
            sh.Range("C42").Resize(UBound(temp2) + 1).Value = Application.Transpose(temp2)
        
            sh.Range("B10:B" & last).Value = data.Range("B4:B" & last).Value
            sh.Range("D10").Resize(UBound(temp) + 1, 3).Value = data.Range("C4:E" & last).Value
        End If
    With Application
        .ScreenUpdating = True: .Calculation = xlAutomatic: .EnableEvents = True
    End With
End Sub

ثم ضع الكود التالي في حدث ورقة العمل المسماة "الملاحظة"

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("J3")) Is Nothing Then
        Call Observation
    End If
End Sub

 

  • Like 1
قام بنشر
في ٢٨‏/١‏/٢٠١٧ at 15:16, مصرى مصرى said:

 

أولا : أعتذر عن تأخرى في الرد  بسبب عطل في النت

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

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

رابعا : كود الأستاذ ياسر وملف الأستاذ الشهابي قاما بالمطلوب في هذه الجزئية مع ملاحظة بسيطة وهي ضرورة جعل الاحتياطي يصل إلى عدد أكبر نسبيا وهو ما نوه اليه استاذنا الشهابي فنريد ان يصل للعدد 8 الموجود تحسبا لاي موقف وعدد موجود ولي ملاحظة ثانية في ملف الاستاذ الشهابي وهي انه عند تغيير الفترة مثلا لفترة ليس بها ملاحظين مثل ف12 مثلا لا تمسح القيم الموجودة في عمود الصف ورقم الجلوس ونظل مكتوبة رغم انه لا يوجد ملاحظين ولا توزيع لهذه الفترة من الاساس فأتمنى ان تعدل

خامسا : كل اليقين عندي ان المطلوب فيه تعب ومجهود كبير قد بذل من حضراتكم فشكرى موصول اليكم ولعلكم تفاجئونا بتعديل كود التوزيع وفق الشروط المطلوبة ليكون العمل اشبه باغلى هدية من حضراتكم لكل مسئول كنترول وليكون شاهدا على خبراتكم العظيمة وليكون صدقة جارية وعلم ينتفع به يظل في ميزان حسناتكم يوم الدين 

 

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

الأستاذ العزيز  / ياسر  

22 ساعات مضت, ياسر خليل أبو البراء said:

تسلم أخي الحبيب الشهابي

ولكن يبقى الكود الذي قدمته الأفضل من ناحية الاختصار .. حيث أن الكود الذي قدمته طويل بعض الشيء

تقبل تحياتي

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

فالكود الذي قدمته إحترافي  أخذت فترة من الزمن وأنا أحاول أن أفهمه وأتعلم منه 

بارك الله فيكم وزادكم علماً ورفعة 

الأستاذ العزيز  / تيجر

11 ساعات مضت, سيد تيجر said:

 ولي ملاحظة ثانية في ملف الاستاذ الشهابي وهي انه عند تغيير الفترة مثلا لفترة ليس بها ملاحظين مثل ف12 مثلا لا تمسح القيم الموجودة في عمود الصف

يا أستاذ تيجر في عبارة في الفقه تقول  ( إذا حضر الماء بطل التيمم  ) 

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

11 ساعات مضت, سيد تيجر said:

رابعا : كود الأستاذ ياسر وملف الأستاذ الشهابي قاما بالمطلوب في هذه الجزئية مع ملاحظة بسيطة وهي ضرورة جعل الاحتياطي يصل إلى عدد أكبر نسبيا وهو ما نوه اليه استاذنا الشهابي فنريد ان يصل للعدد 8 الموجود تحسبا لاي موقف وعدد موجود 

هذه إضافة بسيطة في كود أستاذنا القدير ياسر من أجل هذا الأمر 

 '===========================================================================================
            Range("c46:c49").Copy Range("g42:g45")
            Range("c46:c49").ClearContents
 '===========================================================================================

وقد أضفت صفوف تحت صفوف الملاحظين وقبل الصف الذي يحتوي ( المراقـب الأول ) ومن ثم أخفيتها 

وهي إضافة بسيطة على قد الحال

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

الساقية المعدلة2.rar

تم تعديل بواسطه الشهابي
  • Like 2
قام بنشر

اخي الكريم سيد

أفضل دائماً إفراد طلب واحد لكل موضوع .. هذا من ناحية 

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

تقبل تحياتي

قام بنشر (معدل)
11 ساعات مضت, ياسر خليل أبو البراء said:

اخي الكريم سيد

أفضل دائماً إفراد طلب واحد لكل موضوع .. هذا من ناحية 

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

تقبل تحياتي

استاذي الفاضل ياسر / اعتذر منك كثيرا ولعل ما جعل للموضوع اكثر من طلب ارتباطه ببعضه في ملف واحد فاذا ما كنت قد جعلت كل ملف على حدة لم يتسنى لي كيفية دمج الملفين فيما بعد لقلة خبرتي وها قد تحقق الاستدعاء من ورقة الساقية الى ورقة الملاحظة ولك كل الشكر على تعبك ومجهودك وكذلك الاستاذ الشهابي وسوف ارفع ملف كود التوزيع منفردا واشرح المطلوب فيه لعل الله يجعل على يديك الفرج وجزاك الله خيرا

تم تعديل بواسطه سيد تيجر
  • Like 1
قام بنشر

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

الملف الاول.rar

الملف الثانى.rar

قام بنشر
 

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

الملف الاول.rar

الملف الثانى.rar

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

قام بنشر

أخي الكريم

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

واعلم أنه لو لدي علم بالمشكلة لن أتردد عن تقديم المساعدة

قام بنشر
 

أخي الكريم

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

واعلم أنه لو لدي علم بالمشكلة لن أتردد عن تقديم المساعدة

شكرا لك اخي الكريم وجزيت خيرا

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information