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

توزيع لجان


أ/حكيم
إذهب إلى أفضل إجابة Solved by بن علية حاجي,

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

شكرا جزيلا على الاجابة 

لكن 

اريد ان يكون في حالة قسمة عدد الطلاب على عدد اللجان ان تكون الزيادة في كل اللجان عدا الاخيرة حتى لو بقية فارغة

مثلا اذا كان عدد الطلاب 37 و عدد اللجان 7 يكون في كل لجنة 5 طلاب والاخيرة 2

مثلا اذا كان عدد الطلاب 37 و عدد اللجان 9 يكون في كل لجنة 4 طلاب والاخيرة 1

مثلا اذا كان عدد الطلاب 27 و عدد اللجان 10 يكون في كل لجنة 3 طلاب والاخيرة 0

هل هناك امكانية لذلك

 

بمعنى اذا كان ناتج قسمة عدد الطلاب على عدد اللجان مثلا 3.1 أو  3.6  يكون عدد الطلاب في اللجنة يساوي 4 في كل اللجان بالتساوي حتى لو بقيت اللجنة أو اللجان الأخيرة فارغة

 

تم تعديل بواسطه أ/حكيم
  • Like 1
رابط هذا التعليق
شارك

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

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

هل يمكن الرد على هذا

شكرا جزيلا على الاجابة 

لكن 

اريد ان يكون في حالة قسمة عدد الطلاب على عدد اللجان ان تكون الزيادة في كل اللجان عدا الاخيرة حتى لو بقية فارغة

مثلا اذا كان عدد الطلاب 37 و عدد اللجان 7 يكون في كل لجنة 5 طلاب والاخيرة 2

مثلا اذا كان عدد الطلاب 37 و عدد اللجان 9 يكون في كل لجنة 4 طلاب والاخيرة 1

مثلا اذا كان عدد الطلاب 27 و عدد اللجان 10 يكون في كل لجنة 3 طلاب والاخيرة 0

هل هناك امكانية لذلك

 

بمعنى اذا كان ناتج قسمة عدد الطلاب على عدد اللجان مثلا 3.1 أو  3.6  يكون عدد الطلاب في اللجنة يساوي 4 في كل اللجان بالتساوي حتى لو بقيت اللجنة أو اللجان الأخيرة فارغة

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

أخي احمد الكود ممتاز من حبث الفكرة والاسلوب

ولكن لا بد لي من اضافة بعض التعديلات عليه ليكون :

1-بشكل اقصر

2-بدون كل هذه الاوامر  Select و Activate التي ترهق البرنامج دون فائدة

Option Explicit
Sub Ahmed_Salim2()

Dim AA%, N%, i%, Last_Row%
Dim tt%: tt = 1
 
 AA = [d4]
 N = Int([d2] / AA) + 1
 Last_Row = Cells(Rows.Count, 3).End(3).Row
 Range("D8", Range("D7").End(4)).ClearContents

For i = 8 To Last_Row
  Range("D" & i) = tt
  tt = IIf(tt < AA, tt + 1, 1)
 Next
Range("D3") = Evaluate("=COUNTIF(D8:D100,1)")
End Sub

 

 

distribution_Ah_Sal.xlsm

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

أستاذي الفاضل الأستاذ سليم دائمًا نتعلم منك الكثيرما شاء الله

  أرى أنه يتم إضافة حتى يعطى الكود النتيجة المطلوبة  وهي فرز أرقام اللجان

أرجو مشاهدة الملف وإبداء الرأي

distribution_Ah_Sal.xlsm

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

الكود النهاني (مع الفرز حسب اللجان) و ادراج عدد اللجان اوتوماتيكياً حسب عدد الطلاب الاجمالي و عدد الطلاب في كل لجنة

تغيير اسم الصفحة الى SALIM لحسن عمل الكود وعدم ظهور احرف غريبة في الكدو مما يؤثر على عملية نسخه ولصقه

Option Explicit
Sub Ahmed_Salim_Final()
 If ActiveSheet.Name <> "SALIM" Then Exit Sub
Dim AA%, N%, i%, k%, Last_Row%
Dim tt%: tt = 1
Dim m%: m = 8
With ActiveSheet
     AA = .Cells(Rows.Count, 2).End(3).Rows
     Last_Row = AA + 7
     .[d2] = AA
     N = IIf([d2] Mod [d4] = 0, [d2] / [d4], Int([d2] / [d4]) + 1)
    
     .Range("D8", .Range("D7").End(4)).ClearContents
     
      For k = 1 To N
        For i = 1 To .[d4]
         .Cells(m, 4) = k
         m = m + 1
         If m = Last_Row + 1 Then GoTo End_Me
        Next i
      Next k
    
End_Me:
    .Range("D3") = Evaluate("=max(D8:D1000)")
End With
End Sub

الملف النهائي

 

distribution_Final.xlsm

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

رائع أستاذنا الفاضل سليم بارك الله فيك

وبعد إذنك قمت بإضافة شرط إذا كانت الخلية D3 فارغة لا يعمل الكود وإظهار  رسالة

فأصبح الملف بهذا الشكل

distribution_Final.xlsm

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information