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

نجوم المشاركات

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      2

    • Posts

      13578


  2. عبد اللطيف سلوم

    عبد اللطيف سلوم

    06 عضو ماسي


    • نقاط

      2

    • Posts

      2040


  3. بلال اليامين

    بلال اليامين

    04 عضو فضي


    • نقاط

      1

    • Posts

      914


  4. عبدالله بشير عبدالله

Popular Content

Showing content with the highest reputation on 12/22/25 in all areas

  1. السلام عليكم ورحمة الله وبركاته اقدم لكم شرح مبسط لطريقة بحث احترافيه في شيت اكسل رابط الفيديو لتحميل ملف العمل https://www.mediafire.com/file/4t7skm26bdj2mhk/salloum.xlsx/file
    2 points
  2. شكرا كبير يا استاتنا الفاضل يارب اجعل هذا العمل في ميزان حسنات استاذ الفاضل kkhalifa1960
    1 point
  3. تفضل استاذ @محمد حسن2 محاولتي اليك الشرح والمرفق . بعد اختيار المرفقات واختيار اسم الفولدر ومسار الحفظ والضغط على الزر نسخ بيعمل لك فولدران بالمسار الذي اختارته واسمه . فولدر به كل الملفات المختارة والثاني نفس الفولدر مضغوط وبنهاية البروجرسبار بيفتح جوجل درايف ز والتكملة بالفيديو التالي . BackUpTest.rar
    1 point
  4. ممكن يكون طلبك هنا https://www.youtube.com/watch?v=M1DhpzkT8kA او جرب هذا الكود: Sub Observer_FullSystem() Dim ws As Worksheet, wsReport As Worksheet Dim NamesArr() As Variant Dim UsedRow As Object, UsedCol As Object, UsedAll As Object Dim lrNames As Long, lrRows As Long, lrCols As Long Dim r As Long, c As Long, i As Long Dim Available() As String Dim cnt As Long, MaxAllowed As Long, TotalCells As Long Dim TryCount As Long Dim MainCols As Long: MainCols = 2 ' عدد الأعمدة الأساسية Set ws = ActiveSheet Application.ScreenUpdating = False Randomize ' ===== Backup ===== ws.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = "Backup_" & Format(Now, "ddmmyy_hhmmss") ws.Activate ' ===== قراءة الأسماء ===== lrNames = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row NamesArr = ws.Range("B3:B" & lrNames).Value ' ===== حدود الجدول ===== lrRows = ws.Cells(ws.Rows.Count, 3).End(xlUp).Row lrCols = ws.Cells(2, ws.Columns.Count).End(xlToLeft).Column ws.Range(ws.Cells(3, 4), ws.Cells(lrRows, lrCols)).ClearContents ' ===== الحد الأقصى ===== TotalCells = (lrRows - 2) * (lrCols - 3) MaxAllowed = Application.WorksheetFunction.RoundUp(TotalCells / (lrNames - 2), 0) Set UsedAll = CreateObject("Scripting.Dictionary") ' ===== التوزيع ===== For r = 3 To lrRows Set UsedRow = CreateObject("Scripting.Dictionary") For c = 4 To lrCols TryCount = 0 RetryCell: TryCount = TryCount + 1 If TryCount > 300 Then GoTo NextCell Set UsedCol = CreateObject("Scripting.Dictionary") For i = 3 To r - 1 If ws.Cells(i, c).Value <> "" Then UsedCol(ws.Cells(i, c).Value) = 1 Next i cnt = 0 ReDim Available(1 To UBound(NamesArr, 1)) For i = 1 To UBound(NamesArr, 1) If Not UsedRow.exists(NamesArr(i, 1)) _ And Not UsedCol.exists(NamesArr(i, 1)) Then If Not UsedAll.exists(NamesArr(i, 1)) _ Or UsedAll(NamesArr(i, 1)) < MaxAllowed Then cnt = cnt + 1 Available(cnt) = NamesArr(i, 1) End If End If Next i If cnt > 0 Then ws.Cells(r, c).Value = Available(Int(Rnd * cnt) + 1) UsedRow(ws.Cells(r, c).Value) = 1 UsedAll(ws.Cells(r, c).Value) = UsedAll(ws.Cells(r, c).Value) + 1 Else GoTo RetryCell End If NextCell: Next c Next r ' ===== تقرير ===== On Error Resume Next Set wsReport = Sheets("تقرير") On Error GoTo 0 If wsReport Is Nothing Then Set wsReport = Sheets.Add wsReport.Name = "تقرير" Else wsReport.Cells.Clear End If wsReport.Range("A1:D1") = Array("الاسم", "الإجمالي", "أساسي", "احتياطي") For i = 3 To lrNames wsReport.Cells(i - 2, 1) = ws.Cells(i, 2) wsReport.Cells(i - 2, 2) = Application.CountIf(ws.Range(ws.Cells(3, 4), ws.Cells(lrRows, lrCols)), ws.Cells(i, 2)) wsReport.Cells(i - 2, 3) = Application.CountIf(ws.Range(ws.Cells(3, 4), ws.Cells(lrRows, 3 + MainCols)), ws.Cells(i, 2)) wsReport.Cells(i - 2, 4) = wsReport.Cells(i - 2, 2) - wsReport.Cells(i - 2, 3) Next i wsReport.Columns.AutoFit Application.ScreenUpdating = True MsgBox "تم التوزيع + إنشاء نسخة احتياطية + تقرير كامل ?", vbInformation End Sub
    1 point
  5. تم عمل التعديلات على النحو التالي : - اضافة جدول وسيط يحمل درجة الاجابة - تغيير كود الحاق الاجابة واستبداله باستعلام الحاق - اضافة بعض الضوابط مثل : الاغلاق بعد الحفظ منع اعادة الاختبار ( آلية مرنة يمكن للمسؤول تمكينه من اعادة الاختبار حيث اضفت حقل نعم/لا يمكن التحكم من خلاله) بعض اللمسات على نموذج الاجابة ....................................................... لترتيب هذا العمل .. مهم جدا العمل على آخر مثال تم التعديل عليه من قبل الاخوة الكرام وحبذا يراعى في الامثلة الترتيب الرقمي .. فالمرفق الجديد سميته Exam1 فيا ليت يكون التالي Exam2 .. وهكذا ... انتظر منكم الملاحظات او اي تعديلات قبل الانتقال للخطوة والمطلب التالي Exam1.rar
    1 point
  6. شكرا استاذ عمر على المشاركة الجميلة تحقق من الخطوة الأولى 1- ضبط الوقت .. وغلق النموذج عند انتهائه 2- حفظ الاجابة في جدول tbl_Answers 3- عمل جدول اعدادات عامة ملاحظة : بعد التجربة اتضح لي وجوب ايجاد جدول وسيط لرصد الاجابة المبدئية في الوضع الحالي سيتم حفظ الفقرة الأخيرة اي اجابة سؤال واحد فقط انتظروني سأعمل على ذلك
    1 point
  7. اعلم هذا وواضح بالملف وعملت في قطاع التعليم التقني والتوجيه الفني 39 سنة واعلم جيدا كيف عمل اللجان لم يكن الامر يتطلب كل هذا على كل حال عودة للملف اليك الملف بالتعديل الاخير مراقبة_ تحويل اللجان الى أسماء.xlsm
    1 point
  8. مشاركة مع استاذ @Foksh تفضل استاذ @jo_2010 محاولتي . Jo.rar
    0 points
×
×
  • اضف...

Important Information