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

احمد بدره

الخبراء
  • Posts

    979
  • تاريخ الانضمام

  • Days Won

    6

مشاركات المكتوبه بواسطه احمد بدره

  1. ممكن تبدليه بهذا الكود

    Private Sub Worksheet_Selectionchange(ByVal Target As Range)
    
    If Target.HasFormula = True Then
    
    ActiveCell.Offset(0, 1).Select
    
    ElseIf Target.MergeCells = True And Target.HasFormula = True Then Target.Offset(0, 1).Select
    
    ElseIf ActiveCell.HasFormula = True And ActiveCell.MergeCells = True Then ActiveCell.Offset(0, 1).Select
    End If
    
    End Sub

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

    اكتب في السطر الذي قبل  كلمة Dim  في الماكرو

    ActiveSheet.Unprotect "123"

    واكتب في السطر الذي قبل كلمة End sub

      ActiveSheet.Protect "123"

    Option Explicit
    
    Sub get_my_studiants()
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect "123"
    Dim A As Worksheet
    Dim B As Worksheet
    Set A = Sheets("ALL_STD")
    Set B = Sheets("B")
    Dim col%, r, x, LB
    LB = B.Cells(Rows.Count, "B").End(3).Row
    If LB < 5 Then LB = 5
    B.Range("a5").Resize(LB - 4, 6).Clear
    Dim my_clas$: my_clas = B.Range("e2")
    Dim my_mad$: my_mad = B.Range("K2").Value
    
     If my_clas = "" Or my_mad = "" Then GoTo Exit_Sub
      col = A.Rows(1).Find(my_clas, lookat:=1).Column
      r = A.Columns(1).Find(my_mad, lookat:=1).Row
      x = Application.CountIf(A.Columns(1), my_mad)
       B.Range("b5").Resize(x).Value = _
       A.Cells(r, 2).Resize(x).Value
      B.Range("c5").Resize(x, 3).Value = _
      A.Cells(r, col).Resize(x, 3).Value
      With B.Range("A5").Resize(LB - 4, 6)
        .Columns(1).Formula = "=if(B5="""","""",max($A$4:a4)+1)"
        .Columns(1).Interior.ColorIndex = 6
        .Borders.LineStyle = 1
        .Columns(6).Formula = "=RANK(E5,$E$5:$E$29,0)+COUNTIF($E5:E$5,E5)"
        .Value = .Value
        .Font.Size = 26
        .Font.Bold = True
        .InsertIndent 1
      End With
    Exit_Sub:
      Application.ScreenUpdating = True
      ActiveSheet.Protect "123"
    
    End Sub

     

     

     

    My_students (1).xlsm

    • Like 2
  2. بعد إذن أستاذنا الفاضل سليم

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

    جرب هذا

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.HasFormula = True Then
    ActiveCell.Offset(0, 1).Select
    End If
    End Sub

     

    My_students (1).xlsm

    • Like 4
  3. بعد إذن أستاذنا الفاضل عمر الحسيني

    يمكن عمل التحقق من الصحة الأرقام بين 0 و20 

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

    كما بالصورة  بعدها إظهار القيم الخطا قم بتحديدها ومسحها

     

    image.png

    Test_2.xlsm

    • Thanks 1
  4. بعد إذن الأستاذ مهند 

    أولاً قم بالذهاب إلى المطور  ثم اختر إدارج يظهر صندوق اختر منه مربع تحرير وسرد  بعد ذلك قم بالضغط والسحب ليتم رسم الشكل

    قم بعمل  كليك يمن على الشكل يظهر شكل اختر تنسيق عنصر تحكم  اختر منه عنصر تحكم قم بإدخال النطاق  ثم حدد ارتباط الخلية

    مرفق صورة للتوضيح

    image.png

    33.xls

    • Like 3
  5. حسب المطلوب رقم 1 

    جرب هذا  في فورم 3

    بالنسبة للمطلوب رقم 3  لا يوجد خلل في الاستعلام في الفورم 2 

    بعد فتح الفورم تحدد الاسم نوع الاستعلام ( المعتمرين ) ، ( الرحلات )

    بعدها اضغط على زر استعلام  حتى يتم تنشيط خيارات البحث

    حدد خيار البحث المطلوب ثم اكتب في التكست بوكس المقابل لنوع البحث تكست بوكس 16

    تلاحظ أنه يأتي بالاستعلام

    برنامج المعتمرين _A4.xlsm

    • Like 1
  6. التفقيط في الماكرو معمول حسب العمود Y

    قمت بإضافة دالة الترقيم لأستاذنا الفاضل محمد صالح

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

    وأعتقد أنها أفضل حل

    جرب هذا

    1اعمال سنة بالحروف تربية اعدادى رياضيةطبقا للقرار 311 لسنة 2019.xlsm

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

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

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

    وياريت عند رفع أي ملف يكون محفوظ بأي صيغة من الموجودين في الصورة  لأن أنا أو غير من الزملاء يضطر أن يحفظ الملف مرة أخرى حتى يتم الأكواد والماكرو  في الملف

     

    image.png

    اعمال سنة بالحروف تربية اعدادى رياضيةطبقا للقرار 311 لسنة 2019.xlsm

  8. ممكن استدعاء اسم القارة وأيضًا عاصمة الدولة بمجرد كتابة اسم الدولة عن طريق الدالة vlookup بشرط وضع جدول به اسم الدولة واسم العاصمة واسم القارة بنفس الترتيب كما بالمرفق

    ممكن أن تكمل الجدول المرفق حتى 2000 اسم

    الدول والعواصم1.xls

    • Like 2
  9. أستاذ صفوت جابر معذرة للتأخير  حيث أنني لم أنتبه أنك قد وضعت الملف

    وعندما أخذت الملف وجدته يحتاج أي أشياء كثيرة

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

    تم تعديل المعادلات حتى يكون للطالب الغائب نتيجة

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

    تم عمل استدعاء الناجح أو الراسب أو جميع الطلاب  بالأكواد

    جرب الملف

    saf.xlsm

    • Like 3
  10. أخي الفاضل Mohmad83  الإضافة التي كنت أضفتها هي وضع آخر سجل تم إضافته في الليست بوكس

    و أيضا عند تحديد إي اسم من الليست بوكس يظهر في التكست بوكس

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

    جرب هذا

     

     

    اضهار اول صف فارغ.xlsm

    • Like 1
  11. بارك الله فيك أستاذنا الفاضل سليم

    ولكن بعد إذنك  أقترح أن تكون المعالة

    =AND(ISNUMBER(A1);SUM($A$1:$A$5)<=20)

    حتى إذا تم تغيير الأرقام الأولى بعذ ذلك فيظل التحقق من الصحة  يعمل

     

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

    لأن في حدث Worksheet_SelectionChange

    ممكن يقبل أي رقم زائد ولا يعطي الرسالة إلا بعد تحديده

     

    VERIFICATION.xlsx

    • Like 3
×
×
  • اضف...

Important Information