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

أ / محمد صالح

أوفيسنا
  • Posts

    4,431
  • تاريخ الانضمام

  • Days Won

    191

كل منشورات العضو أ / محمد صالح

  1. ويمكن اختصار الكود إلى Sub mas160menu() Dim Ws As Worksheet, Sh As Worksheet Dim I As Long, x As Long, n As Long, Lr As Long, c As Integer Set Ws = Sheets("السجل الكلي"): Set Sh = Sheets("قوائم80") Lr = Ws.Cells(Rows.Count, 4).End(xlUp).Row Application.ScreenUpdating = False Sh.Range("C7:F86,H7:K86").ClearContents For t = 1 To 2 1: x = (t - 1) * 40 + 7 For I = n + 9 To Lr If Ws.Cells(I, 6).Value = Sh.Range("D1").Value And Ws.Cells(I, 7).Value = Sh.Range("E1").Value Then Sh.Cells(x, IIf(c Mod 2, 8, 3)).Value = Ws.Cells(I, 4).Value Sh.Cells(x, IIf(c Mod 2, 9, 4)).Resize(1, 2).Value = Ws.Cells(I, 10).Resize(1, 2).Value Sh.Cells(x, IIf(c Mod 2, 11, 6)).Value = Ws.Cells(I, 13).Value If x = t * 40 + 6 Then n = I - 8: c = c + 1 If c Mod 2 Then GoTo 1 Else GoTo 2 End If: End If x = x + 1: n = I + 1 End If Next I 2: Next t Application.ScreenUpdating = True MsgBox "Done by mr-mas.com" End Sub ويجب إعادة تعيين الماكرو للزر مع الاسم الجديد وهذا ملفك بعد التعديل .. بالتوفيق تعديل كود القوائم.xls
  2. تفضل هذا ملفك بعد إضافة الكود وتعديل أسماء الشيتات من المسافات الزائدة وتعديل الأعمدة التي سيتم الترحيل لها حيث كان بها خلايا في الأسفل (مكتوب فيها) تمنع من دقة معرفة آخر صف مكتوب فيه بالتوفيق البرنامج 1-1.xlsm
  3. لا أدري إن كان المقصود ب حفظها كملف pdf أن لكل طالب ملفا أم طباعة جميع التقارير في ملف pdf واحد على العموم قام أخي @د.كاف ياربالمقصود الأول وهذا الاحتمال الثاني طباعة جميع التقارير في ملف واحد باسم محتوى الخلية H1 للعلم تم تعديل معادلة البحث للاعتماد على رقم المسلسل لجلب بيانات الطالب نكتب مسلسله في الخلية F1 بالتوفيق تقرير الطلاب pdf.xlsm
  4. إن شاء الله يفيدك هذا التعديل Sub قائمة80() Dim Ws As Worksheet, Sh As Worksheet Dim I As Long, x As Long, n As Long, Lr As Long Set Ws = Sheets("السجل الكلي"): Set Sh = Sheets("قوائم80") Lr = Ws.Cells(Rows.Count, 4).End(xlUp).Row Application.ScreenUpdating = False Sh.Range("C7:F86,H7:K86").ClearContents For t = 1 To 2 x = (t - 1) * 40 + 7 For I = n + 9 To Lr If Ws.Cells(I, 6).Value = Sh.Range("D1").Value And Ws.Cells(I, 7).Value = Sh.Range("E1").Value Then Sh.Cells(x, 3).Value = Ws.Cells(I, 4).Value Sh.Cells(x, 4).Resize(1, 2).Value = Ws.Cells(I, 10).Resize(1, 2).Value Sh.Cells(x, 6).Value = Ws.Cells(I, 13).Value If x = t * 40 + 6 Then n = I + 1: Exit For x = x + 1 End If Next I x = (t - 1) * 40 + 7 For I = n To Lr If Ws.Cells(I, 6).Value = Sh.Range("D1").Value And Ws.Cells(I, 7).Value = Sh.Range("E1").Value Then Sh.Cells(x, 8).Value = Ws.Cells(I, 4).Value Sh.Cells(x, 9).Resize(1, 2).Value = Ws.Cells(I, 10).Resize(1, 2).Value Sh.Cells(x, 11).Value = Ws.Cells(I, 13).Value If x = t * 40 + 6 Then n = I - 8: Exit For x = x + 1 End If Next I Next t Application.ScreenUpdating = True MsgBox "Done...", 64 End Sub بالتوفيق
  5. شكرا لمرورك الكريم أقصد ب (مع) بالإضافة إلى فالمشاركة السابقة بها حل مشكلة العلامة العشرية وبها أيضا كود استدعاء osk تحياتي
  6. هذه أساسيات الدوال للحصول على أصغر قيمة نستعمل min =MIN(A2:B2) بالتوفيق
  7. هذا سببه أن نوع بيانات الحقل رقمي وقيمة مثلا 5. (خمسة وبعدها علامة عشرية فقط) هي خمسة فقط وبالنسبة لصديقي @د.كاف يارلا تحاول الضحك علينا ههههه بعد ربط مربعات النصوص (غير المنضمة) بحقول الجدول تحدث نفس المشاكل الحل كما قلته سابقا: استعمال OSK أو جعل جميع الحقول نصية وعند التعامل معها يتم نحويلها إلى نوع البيان المطلوب وهذه محاولة أخرى لتفادي عدم كتابة العلامة العشرية مع عرض on screen keyboard من خلال زر بالتوفيق mas_numpad.accdb
  8. إن شاء الله تصل إليها وتستعملها بسهولة وهذه مشاركتي في عمل لوحة أرقام للبرنامج (للعلم لم أطلع على أي مرفق لمن سبقوني من الأصدقاء في الحل) حيث أن التاريخ يتم إدخاله من date piker فلا حاجة لكتابة حقل التاريخ ولا الشرطة المائلة بالتوفيق mas_numpad.accdb
  9. هذه خطوات تشغيل on screen keyboard في وينوز 7 اضغط زر Start , ثم All Programs, ثم Accessories, ثم Ease of Access, وفي النهاية On-Screen Keyboard. ولو النسخة عربي النقر فوق الزر أبدا ، والنقر فوق كافة البرامج، والنقر فوق الملحقات، والنقر فوق سهوله الوصول، ثم النقر فوق لوحه المفاتيح علي الشاشة. وبعد فتح البرنامج يمكن تثبيته في شريط المهام بالتوفيق
  10. شكرا لمجاملتك فقد تم الحل بعيدا عن توجيهاتي نهائيا وزيادة في الخير ربما يفيدك هذا الرابط وهذا أيضا ينبغي أن نتعلم ممن سبقنا في عمل ما نريد عمله بالتوفيق
  11. هنا تجد ما يخص تاريخ الميلاد والنوع من الرقم القومي وبالنسبة لاسم ولي الأمر فهذا البيان يكتب يدويا أفضل نظرا لإشكالية عدم حصر الأسماء المركبة جميعها بالتوفيق
  12. ما نظام التشغيل الموجود على الأجهزة؟
  13. الشاشات التاتش بها لوحة مفاتيح touch keyboard وكل جهاز ويندوز يحتوي على on screen keyboard فلا حاجة لكل هذا التعب بالتوفيق
  14. الفكرة تكررت في موضوعات كثيرة ويجب أ ن نتعلم مما سبق
  15. كلامي عن الخطأ في المشاركة الأولى لك وبالنسبة لتعديل المعادلة جرب هذه =If(MOD(A1,B1)=0,B1,MOD(A1,B1)) بالتوفيق
  16. الناتج الذي قدمته ( 5 ) خطأ والصواب 4 لأن المتبقي من 524 بعد طرح الرقم 5 عدد 104 مرة يساوي 524 - 520 = 4 ويمكنك استعمال المعادلة التالية =MOD(A1,B1) حيث A1 بها الرقم الأكبر و B1 بها الرقم الأصغر وهذه المعادلة تقوم بجلب باقي قسمة الرقم الأول على الثاني بالتوفيق
  17. بعد إذن صديقي بن علية طبعا تفضل أخي الكريم هذه فكرتي في تنفيذ المطلوب في شيت 2 ولكن أنصح بوضع الرقم الأكبر 10 تحت خانة الطول والرقم الأصغر 8 تحت خانة العرض حتى تحصل على أفضل النتائج بالتوفيق mas_cut_draw.xlsb
  18. المشكلة في رقم الصف الذي يجلب بياناته ويضعها على الزر لاحظ هذا السطر Controls("C" & I).Caption = SH.Range("b" & I ) يجلب الصفوف من 1 إلى 20 من العمود B مع ملاحظة أن الأصناف تبدأ من الصف 3 لذلك ينبغي إضافة 2 ليصبح الكود Controls("C" & I).Caption = SH.Range("b" & I + 2) ونفس الشيء في هذا السطر Controls("Command" & I).Caption = SH.Range("g" & I ) وينبغي إضافة 1 لأن صف العنوان غير مطلوب ليصبح الكود Controls("Command" & I).Caption = SH.Range("g" & I + 1) بالتوفيق
  19. يبدو أن حضرتك ما ضغطت على الرابط الموجود في كلمات (استعمال محرك البحث) في مشاركتي الأولى على العموم أحد الحلول الموجودة في نتائج البحث: أن تضع كود فك الحماية في بداية الإجراء بعد sub name-of-sub وتعود لتضع كود الحماية في نهايته قبل end sub بالتوفيق
  20. أفضل من يجيبك هو محرك البحث وهذه أفضل خيارات البحث للحصول على أفضل النتائج: البحث في : هذا المنتدى البحث عن النتائج التي تحوي: كل كلمات البحث
  21. الأمر بسيط جدا أن تضيف شرطا إذا كانت الدرجة فارغة فالنتيجة فارغة يمكنك استعمال هذه المعادلة في D4 =IF(C4="","",IF(C4>=60,"ناجح","راسب")) بالتوفيق
×
×
  • اضف...

Important Information