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

ارجو المساعدة فى ترحيل البيانات


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

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

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

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

رابع بالدرجات.rar

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

السلام عليكم

==========

استخدمى المعادلة لايجاد الناجح واراسب والغائب

=IF(AS8="غـ";"غـ";IF(AT8="";"";IF(AND(N8>N7;S8>S7;X8>X7;AC8>AC7;AH8>AH7;AM8>AM7;AP8>AP7;AS8>AS7);"ناجح";"راسب")))

تفضل المرفق

رابع بالدرجات.rar

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

السلام عليكم

اخت عفاف

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

ولكن لكي نصل الى الهدف المنشود وهو الترحيل لناجح و راسب

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

اولا

حذف التكرار لـ رئوس الأعمدة

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

ثانيا

اضافة صف للحد الأدنى لدرجات النجاح

وهذا الصف يمكن اخفائة و سوف نستفيد منه مايلي

1- التنسيق الشرطي لدرجات النجاح و الرسوب

2- استخراج اسماء مواد الرسوب

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

السلام عليكم

===========

استاذ ومشرفنا

هشام شلبي الغالي

آسف لم الحظ ردك الجميل وعملك الرائع

هذا هو حل اهل الخبرة الرائع

الاخ الحبيب ولد طيبة لا عليك

الاحظ مشاركاتك الكثيرة ولك نشاط جميل الى الامام اخى الحبيب اتمنى ان ارك فى مشاركات اكثر

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

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

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

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

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

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

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

شكرا لك اخي هشام

هذا قليل من فيضكم الذي لاينفذ

= = = = =

اضفنا الصف رقم 8 - وهو مخفي

ووضعنا به الحد الأدنى لدرجات النجاح

ومنه

استخرجنا اسماء مواد الرسوب

ومنها استطعنا ان نعرف الناجح و الراسب

ثم تم عمل الترحيل

- -

تم تعديل الطباعة للصفوف المكررة من الأعلى

رابع_بالدرجات2.rar

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

السلام عليكم اخى هشام جزاك الله خيرا على استجابتك الطيبة وارجو منك الرد كما عودتنى وارجو ان يتسع صدرك لى ولا اكون ثقلا عليك

لقد قمت بتلوين ما اود معرفته باللون الاحمر فهل قمت بشرحه لى فى ملف وجزاك الله منى خير الجزاء

شرح الكود.rar

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

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

شرح الكود.rar

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

السلام عليكم

===========

لا حظى

(R, 47) = "راسب" Then  

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

اما باقلا التفاصيل بالمرفق

تقبلوا تحياتى

شرح الكود.rar

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

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

بارك الله فيك أخي هشام وعمل أكثر من رائع

وللفائدة:

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

وتبدأ من أول سطر للبيانات وبالتالي فالأنسب أن تبدأ الحلقة من السطر أي

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

 For R = 8 To 1000
لكن يمكننا عمل حلقات التكرار بناءاً على عدد الأسطر باستخدام دالة العد count
 For R = 8 To Application.CountA(Range("au8:au5000"))
ولكن بما أن اسطر البيانات تبدأ من السطر الثامن فيجب إضافة الأسطر السابقة الى دالة الجمع
For R = 8 To Application.CountA(Range("au8:au5000")) + 8
وبما أن هذا البرنامج ذو حالة خاصة مكون من قائمتين ويوجد بينهما أسطر فارغة فيجب إضافة هذه الأسطر كذلك الى دالة الجمع ... لدينا 10 اسطر فارغة بين الجدولين
For R = 8 To Application.CountA(Range("au8:au5000")) +8+ 10
أي بالنهاية يصبح الكود
For R = 8 To Application.CountA(Range("au8:au5000")) + 18
كذلك يمكن عمل التسلسل في الصفحات المرحل اليها باضافة كود " سأسميه كود التسلسل " في كل حالة من الحالات داخل الشرط الموضوع
    Application.ScreenUpdating = False

    For R = 8 To Application.CountA(Range("au8:au5000")) + 18

        If Cells(R, 47) = "ناجح" Then

            Range("A" & R).Resize(1, 50).Copy

            Sheets("ناجح").Range("A" & M).PasteSpecial xlPasteValues

            Application.CutCopyMode = False

           Sheets("ناجح").Cells(M, 1) = M - 7

            M = M + 1

        ElseIf Cells(R, 47) = "راسب" Then

            Range("A" & R).Resize(1, 50).Copy

            Sheets("راسب").Range("A" & N).PasteSpecial xlPasteValues

            Application.CutCopyMode = False

            Sheets("راسب").Cells(N, 1) = N - 7

            N = N + 1

            ElseIf Cells(R, 47) = "غـ" Then

            Range("A" & R).Resize(1, 50).Copy

            Sheets("غائب").Range("A" & l).PasteSpecial xlPasteValues

            Application.CutCopyMode = False

            Sheets("غائب").Cells(l, 1) = l - 7

            l = l + 1

       End If

    Next

أردت التوضيح حتى تعم الفائدة والله من وراء القصد

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

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

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

السلام عليكم

==========

اخى الحبيب عماد ( وحشنى)

كلامك كله جميل وفى الجون

 For R = 8 To 1000

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

وبما أن هذا البرنامج ذو حالة خاصة مكون من قائمتين ويوجد بينهما أسطر فارغة فيجب

إضافة هذه الأسطر كذلك الى دالة الجمع ... لدينا 10 اسطر فارغة بين الجدولين

For R = 8 To Application.CountA(Range("au8:au5000")) +8+ 10

أي بالنهاية يصبح الكود

For R = 8 To Application.CountA(Range("au8:au5000")) + 18

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

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

وكمان جيد جدا عليك شوية يا عمده اطال الله لنل بعمرك حبيبى

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

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

اخي الحبيب هشام وانت كمان واحشني

-----------

اخي هشام كودك شغال مية مية

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

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

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

اخوك عماد الحسامي

رابع بالدرجات1.rar

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

السلام عليكم

==========

اخى الحبي عماد

عدل على راحة راحتك فى البرنامج ده او غيره

انت تعلم انا من محبيك شكرا على المرفق يا عمده

واذا كان ليك اى ملاحظات تانى هات ولا يهمك المهم نفيد الناس و نستفيد

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

الكود اساسا بيعمل مسح تلقائى للبيانات عند الترحيل مرة اخرى

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

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

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



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

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

Important Information