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

التوزيع بطريقة عشوائية ومرنة


إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

خبرائنا الاعزاء

ارجوا مساعدتى فى هذه المشكلة وهى

كيف يمكن توزيع عدد معين من الملفات على عدد من الموظفين بالتساوى بطريقة عشوائية كل يوم

مع الاخذ فى الاعتبار ان عدد الملفات قد يتغير كل فترة

New Random.xlsx

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

  • أفضل إجابة

جرب هذا الكود

Option Explicit

Sub rand_File_for_employe()
Rem =============>>Created By Salim Hasbaya 15/6/2019
If ActiveSheet.Name <> "SALIM" Then Exit Sub
Dim i%, LRJ%, LRA
Dim myStart#, myEnd#
Dim MY_RG As Range
 LRJ = Cells(Rows.Count, "j").End(3).Row
 LRA = Cells(Rows.Count, "A").End(3).Row + 2
Set MY_RG = Range("J2:J" & LRJ)
myStart = Application.Min(MY_RG)
myEnd = Application.Max(MY_RG)
Range("B2:b29").ClearContents

 With CreateObject("System.Collections.SortedList")
      For i = myStart To myEnd
       .Item(Rnd) = i
      Next i
        i = 0
      Do Until i = LRA
        Range("B" & i + 2) = .GetByIndex(i)
         i = i + 1
      Loop
  End With

End Sub

الملف مرفق

Random_Files.xlsm

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

اليك هذا الماكرو الجديد الذي من المفروض ان يعمل على اي اصدار اكسل

Option Explicit
Sub rand_File_Array()
Rem =============>>Created By Salim Hasbaya 15/6/2019
If ActiveSheet.Name <> "SALIM" Then Exit Sub
Dim i%, LRJ%, LRA%, LRB%
Dim MY_RG As Range
Dim my_arr()
 LRB = Cells(Rows.Count, "B").End(3).Row 
 LRJ = Cells(Rows.Count, "j").End(3).Row 
 LRA = Cells(Rows.Count, "A").End(3).Row + 2 
 
 If LRA + 1 > LRJ Then
  MsgBox "Number of Employees > then Number of files "
  Exit Sub
 End If
 
Set MY_RG = Range("J2:J" & LRJ)

Range("B2:b" & LRA + 1).ClearContents
 Dim K%: K = 1
 Dim x
 For i = 1 To MY_RG.Cells.Count
    ReDim Preserve my_arr(1 To K)
    Randomize
     my_arr(K) = Rnd()
     K = K + 1
  Next
  K = 2
 For i = LBound(my_arr) To UBound(my_arr)
   x = Application.Match(Application.Small(my_arr, i), my_arr, 0)
   Range("b" & K) = MY_RG.Cells(x)
   K = K + 1
  Next
Erase my_arr
End Sub

الماف مرفق

 

Random_Files_Array.xlsm

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

دائماً مبدع استاذنا الكريم👍

وانا شخصيا اطمئن جدا عند ردك على استفساراتى فانا دائما اجد عندك الحل

فجزاك الله خيراً :clapping::clapping: :clapping:

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

59 دقائق مضت, ابو يحيى1 said:

دائماً مبدع استاذنا الكريم👍

وانا شخصيا اطمئن جدا عند ردك على استفساراتى فانا دائما اجد عندك الحل

فجزاك الله خيراً :clapping::clapping: :clapping:

فقط أريد أن اعرف اي ماكرو استعملت الاول او الثاني

لان الاول يتعاطى مع الارقام فقط اما الثاني مع كل شيء (اذا كانت تسمية الملفات نصوصاً)

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

2 ساعات مضت, ابو يحيى1 said:

عذرا على التأخير فى الرد استاذنا الكبير .

استعملت الكود الثانى

ثم حاولت استبدال الكود بمعادلات كما فى الملف المرفق

New Random.xlsm 17.67 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 1 download

 

الخيار الذي وضعته مستعملاً الدالة Ran

في كل مرة تغير اي شيء في اي خلية (او مجموعة خلايا) تتبدل الارقام في عامود الارقام العشوائية مما يرهق البرنامج 

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

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