ابو يحيى1 قام بنشر يونيو 15, 2019 قام بنشر يونيو 15, 2019 خبرائنا الاعزاء ارجوا مساعدتى فى هذه المشكلة وهى كيف يمكن توزيع عدد معين من الملفات على عدد من الموظفين بالتساوى بطريقة عشوائية كل يوم مع الاخذ فى الاعتبار ان عدد الملفات قد يتغير كل فترة New Random.xlsx
أفضل إجابة سليم حاصبيا قام بنشر يونيو 15, 2019 أفضل إجابة قام بنشر يونيو 15, 2019 جرب هذا الكود 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 3
ابو يحيى1 قام بنشر يونيو 15, 2019 الكاتب قام بنشر يونيو 15, 2019 استاذى سليم عند استخدام الملف تظهر الرسالة التالية
سليم حاصبيا قام بنشر يونيو 15, 2019 قام بنشر يونيو 15, 2019 10 دقائق مضت, ابو يحيى1 said: استاذى سليم عند استخدام الملف تظهر الرسالة التالية اريد معرفة على اي اصدار اكسل تعمل
سليم حاصبيا قام بنشر يونيو 15, 2019 قام بنشر يونيو 15, 2019 14 دقائق مضت, ابو يحيى1 said: اصدار 2016 استاذى
ابو يحيى1 قام بنشر يونيو 15, 2019 الكاتب قام بنشر يونيو 15, 2019 استاذى هذا الخيار غير نشط لدى حيث انه جهاز العمل فهل يمكن استبدال الكود بمعادلات ولك منى كل الشكر .
سليم حاصبيا قام بنشر يونيو 15, 2019 قام بنشر يونيو 15, 2019 اليك هذا الماكرو الجديد الذي من المفروض ان يعمل على اي اصدار اكسل 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 1
عبدالله بشير عبدالله قام بنشر يونيو 15, 2019 قام بنشر يونيو 15, 2019 الملف على الاوفيس 2010 يشتغل تمام وكود ما شاء الله اخي ابو يحي لتفعيل الامر انظر الصورة 1
ابو يحيى1 قام بنشر يونيو 15, 2019 الكاتب قام بنشر يونيو 15, 2019 (معدل) دائماً مبدع استاذنا الكريم👍 وانا شخصيا اطمئن جدا عند ردك على استفساراتى فانا دائما اجد عندك الحل فجزاك الله خيراً تم تعديل يونيو 15, 2019 بواسطه ابو يحيى1 1
سليم حاصبيا قام بنشر يونيو 15, 2019 قام بنشر يونيو 15, 2019 59 دقائق مضت, ابو يحيى1 said: دائماً مبدع استاذنا الكريم👍 وانا شخصيا اطمئن جدا عند ردك على استفساراتى فانا دائما اجد عندك الحل فجزاك الله خيراً فقط أريد أن اعرف اي ماكرو استعملت الاول او الثاني لان الاول يتعاطى مع الارقام فقط اما الثاني مع كل شيء (اذا كانت تسمية الملفات نصوصاً) 1
ابو يحيى1 قام بنشر يونيو 18, 2019 الكاتب قام بنشر يونيو 18, 2019 عذرا على التأخير فى الرد استاذنا الكبير . استعملت الكود الثانى ثم حاولت استبدال الكود بمعادلات كما فى الملف المرفق New Random.xlsm
سليم حاصبيا قام بنشر يونيو 18, 2019 قام بنشر يونيو 18, 2019 2 ساعات مضت, ابو يحيى1 said: عذرا على التأخير فى الرد استاذنا الكبير . استعملت الكود الثانى ثم حاولت استبدال الكود بمعادلات كما فى الملف المرفق New Random.xlsm 17.67 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 1 download الخيار الذي وضعته مستعملاً الدالة Ran في كل مرة تغير اي شيء في اي خلية (او مجموعة خلايا) تتبدل الارقام في عامود الارقام العشوائية مما يرهق البرنامج 1
ابو يحيى1 قام بنشر يونيو 18, 2019 الكاتب قام بنشر يونيو 18, 2019 فعلا استاذنا هذه مشكله واجهتنى عند الحذف أو الكتابة أو أى تعديل تتغير الأرقام تماما وانا استعمل الان كود حضرتك جزاك الله خيرا . 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.