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

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

قام بنشر
7 ساعات مضت, احمد تاج الدين said:

بارك الله فيك  استاذ سليم  شكرا لمجهودك ملف ممتاز جدا 

ملحوظه الملف يقوم بترتيب الارقام بالترتيب وليس عشوائي ما السبب 

 

Sorting_Rand.xlsm

ا نت طلبت ذلك من خلال قولك محتاج طريقه لترتيب الارقام عشوائي 

شرح عمل الكود:

=======================================================

 الكود يأخذ مجموعة عشوائية محددة (حسب الطلب ) من الاعداد بين  عددين ومن ثم يرتبها تصاعديا

مثلاُ بين 50 و 500   المطلوب 5 أعداد

احد النتائج المحتملة    (من بين ألوف الألوف)   350  425  100 260  61

الكود يكتبها هكذا : 61     100    260    350   425       هنا ليس ترتيب لارقام متسلسلة  بل ترتيب تصاعدي لارقام عشوائية

 للمزيد يرجى الاطلاع على هذا الملف في العنوان التالي:

https://www.officena.net/ib/topic/85730-كيف-نختار-مجموعة-عشوائية-من-التلاميذ/

===================================================================

اذا كنت لا تريد الترتيب احذف او ( علّق) السطر الرابع من الاسفل  من الكود ليصبح هكذا

Option Explicit
 Sub Sorting_Rand_Numbers()
Dim i%, k%
Dim myStart%: myStart = Application.Min([c2], [d2])
Dim myEnd%: myEnd = Application.Max([c2], [d2])
Dim a()
Range("b:b").ClearContents
Dim x: x = [e2]
If Not IsNumeric(x) Or IsEmpty(x) Then _
MsgBox "Wrong input in $E$2": Exit Sub
If x < 1 Or Int(x) <> x Or x > myEnd - myStart + 1 Then
 x = myEnd - myStart
 [e2] = x
 End If
ReDim a(myEnd - myStart)
 With CreateObject("System.Collections.SortedList")
    Randomize
      For i = myStart To myEnd
       .Item(Rnd) = i
       Next i
         For i = 0 To .Count - 1
      a(i) = .GetByIndex(i)
      Next
  End With
  With Range("b2")
  .Resize(UBound(a) + 1).Value = Application.Transpose(a)
   .Offset(x).Resize(myEnd - myStart + 1 - x).ClearContents
'   .Resize(x).SortSpecial
  End With
  Erase a
End Sub

 

  • Like 1
قام بنشر (معدل)

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

وهل يمكن زيادة العدد مثلا 200 الف لانى جربت وبتظهر رسالة overflow

 

تم تعديل بواسطه احمد تاج الدين

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

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

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information