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

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

قام بنشر

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

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

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

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

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
قام بنشر

فعلا استاذنا

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

وانا استعمل الان كود حضرتك 

جزاك الله خيرا .

  • Like 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