ترتيب VBA عشوائيًا | كيف تستخدم بيان التوزيع العشوائي؟

ترتيب العبارة عشوائيًا في VBA

عبارة VBA Randomize هي عبارة بسيطة من سطر واحد نضيفها قبل تطبيق وظيفة RND. عند إعادة فتح المصنف ، توفر العبارة العشوائية رقمًا أوليًا جديدًا للدالة RND اعتمادًا على وقت نظام الكمبيوتر.

قبل أن أتحدث عن عبارة Randomize ، دعني أقدم لك وظيفة RND بسيطة باستخدام VBA.

كدالة في ورقة العمل "RAND" ، في VBA "RND" أيضًا ستولد أرقامًا عشوائية أكبر من 0 ولكن أقل من 1.

ألقِ نظرة الآن على صيغة الدالة "RND".

[رقم]: يمكننا تمرير الحجة بثلاث طرق.

  • إذا مررنا الرقم كـ <0 ، فإنه يستمر في إنشاء نفس الرقم العشوائي في كل مرة.
  • إذا مررنا الرقم كـ 0 ، فسيكرر الرقم الأحدث الذي قدمه.
  • إذا مررنا الرقم> 0 ، فسيستمر في إعطائك أرقامًا عشوائية مختلفة ، أي الرقم العشوائي التالي في التسلسل.

مثال

للحصول على مثال ، انظر إلى الكود أدناه.

رمز:

 Sub RND_Example () Debug.Print Rnd End Sub 

عندما أقوم بتشغيل الكود في النافذة الفورية ، يمكنني رؤية الرقم أدناه.

وبالمثل ، عندما أقوم بتنفيذ هذا الرمز لمدة 3 مرات أخرى ، يمكنني رؤية الأرقام أدناه.

الآن سأغلق المصنف وأعيد فتحه.

الآن سأعود إلى نافذة محرر Visual Basic.

الآن النافذة المباشرة فارغة ونظيفة.

الآن مرة أخرى سأنفذ الكود أربع مرات وأرى ما هي الأرقام التي سنحصل عليها في النافذة الفورية.

حصلنا على نفس الأرقام التي حصلنا عليها أعلاه.

لا يبدو هذا كرقم عشوائي لأنه في كل مرة نعيد فتح الملف نميل إلى الحصول على نفس الأرقام بدءًا من نقطة الصفر.

لذا ، كيف يمكننا إنشاء أرقام عشوائية بغض النظر عما إذا كان المصنف قد أعيد فتحه أم لا؟

نحن بحاجة إلى استخدام عبارة "العشوائية".

كيفية استخدام بيان التوزيع العشوائي لـ VBA؟

يمكنك تنزيل قالب Excel العشوائي من VBA هنا - قالب Excel عشوائي VBA

مثال 1

للحصول على أرقام عشوائية ، كل ما نحتاجه هو إضافة سطر واحد بسيط "عشوائي" قبل وظيفة RND.

رمز:

 Sub Randomize_1 () عشوائياً Debug.Print Rnd End Sub 

الآن سأقوم بتشغيل الكود 4 مرات وأرى ما سأحصل عليه.

لقد تم إنشاء الأرقام المذكورة أعلاه في نافذتي المحلية.

الآن سأغلق الملف وأعيد فتح الملف مرة أخرى.

كالعادة ، نبدأ بسجل نظيف في النافذة الأساسية المرئية.

الآن سأنفذ الكود مرة أخرى وأرى الأرقام التي نحصل عليها هذه المرة.

رائع!!! لدينا أرقام مختلفة هذه المرة.

نظرًا لأننا أضفنا العبارة Randomize قبل وظيفة RND ، نحصل على أرقام عشوائية مختلفة في كل مرة نعيد فتح الملف.

هذا يبدو وكأنه رقم عشوائي أليس كذلك ؟؟؟

المثال رقم 2

أرقام عشوائية أكبر من واحد

كما رأينا ، يمكن لوظيفة "RND" توليد أرقام من 0 إلى 1 فقط. ولكن من أجل إنشاء أرقام أكبر من رقم عشوائي واحد ، نحتاج إلى استخدام "RANDOM BETWEEN" المتوفر مع فئة دالة ورقة العمل.

لذلك ، لإنشاء أرقام عشوائية أكبر من واحد ، نحتاج إلى استخدام الكود أدناه.

رمز:

 Sub Randomize_2 () العشوائية Debug.Print Rnd * 100 End Sub 

الآن سأنفذ الكود ونرى ما نحصل عليه.

مثل هذا ، يمكننا استخدام عبارة "Randomize" في VBA لتوليد أرقام عشوائية في كل مرة نقوم فيها بإعادة فتح ملف excel.


$config[zx-auto] not found$config[zx-overlay] not found