اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

توزيع الطلبة الى شعب


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

الاخ / هادى

 

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

 

عموما انا عملت الملف ده علي حسب مافهمت من كلامك

لعله يفى بالغرض

 

husin.rar

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

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

الاستاذ والاخ الحبيب محمود حفظك الباري عز وجل ورعاك

اعمالك بالمعادلات والكود رائعة زادك الله علما ونفع بعلمك عباد الرحمن وجزاك الله خيرا

الاخ حسين العصلوجي جزاك الله خيرا كود ممتاز

دمتم في رعاية الله وحفظه

 

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

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

الشرح موجود في المرفق والنتيجة المطلوبة ايضا في المرفق.

 

توزيع الطلبة.rar

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

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim Sh_Name As String

Sh_Name = ComboBox1.Text & "-" & ComboBox2.Text

Sheets.Add
ActiveSheet.Name = Sh_Name

Set ws = Sheets("ÌãíÚ ÇáÕÝæÝ")
Set ws2 = Sheets(Sh_Name)

iRow = ws.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row


For x = 1 To iRow
    iRow2 = ws2.Cells(Rows.Count, 1) _
    .End(xlUp).Offset(1, 0).Row
    If ws.Cells(x, 3).Value = ComboBox2.Value And ws.Cells(x, 4).Value = ComboBox1.Value Then
    For e = 0 To 3
    ws2.Cells(iRow2, e + 1) = ws.Cells(x, e + 1)
    Next
    End If
Next


c = Application.Ceiling((Application.CountA(ws2.Range("c1:c65536")) / ComboBox3.Value), 1)
i = 2
Z = 1

For x2 = 1 To (ComboBox3.Value - 1)
ws2.Select
Set srng = ws2.Range("A" & (c * x2 + i)).Resize(1, 4)
srng.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
With Selection
        .HorizontalAlignment = xlCenter
        .MergeCells = False
        .Interior.TintAndShade = -0.149998474074526
    End With
    Selection.Merge
    ActiveCell.FormulaR1C1 = "ÇáÕÝ " & ComboBox1.Text & " - " & "ÇáÞÓã  " & ComboBox2.Text & " - " & "ÇáãÌãæÚÉ " & Z

i = i + 1
Z = Z + 1
Next

ws.Range("a2:d2").Copy
ws2.Cells(1, 1).Select
ActiveSheet.Paste

irow3 = ws2.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row
ws2.Cells(irow3, 1).Select
Set rng3 = ws2.Range("A" & (irow3)).Resize(1, 4)
rng3.Select
          With Selection
         .HorizontalAlignment = xlCenter
         .MergeCells = False
         .Interior.TintAndShade = -0.149998474074526
         End With
    Selection.Merge
    ActiveCell.FormulaR1C1 = "ÇáÕÝ " & ComboBox1.Text & " - " & "ÇáÞÓã  " & ComboBox2.Text & " - " & "ÇáãÌãæÚÉ " & Z

Columns("A:D").EntireColumn.AutoFit
ActiveSheet.DisplayRightToLeft = True
Application.CutCopyMode = False
UserForm1.Hide
End Sub

 

 

تفضل المرفق 

لعله يفي بالمطلوب

توزيع الطلبة -h.rar

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

السلام عليكم اعضاء وزوار منتدى اوفيسنا

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

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

1-الشعب الثلاث يكون عدد الطلبة 21 والاخير 18 والمفروض يكون الاولى 21 والثلاث البقية 20  لانا قلنا اذا كان العدد لا يقبل القسمة بالتساوي فانه اذا كان الفرق واحد فيكون للشعبة الاولى واذا كان الفرق اكثر فيوزع على اكثر من شعبة بحيث نصف عدد الشعب متساوي تقريبا

2- بالنسبة لصف عنوان الشعبة  (الصف الاول - قسم النفط - المجموعة 4) يكون في الشعبة الاخيرة بعد الاسماء وليس قبل الاسماء كما في الشعب البقية

3- ياريت ترتيب الاسماء ابجدية تلقائيا.

4- ياريت تلوين صف عنوان الشعب بلون رمادي فاتح مثلا

5- وضع حدود للجدول من اجل التنسيق





الصف الاول - القسم  نفط -
المجموعة 3





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

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

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



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

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

Important Information