VBA RND فنکشن کا استعمال کرتے ہوئے رینڈم نمبر تیار کریں

ایکسل وی بی اے رینڈم نمبرز

کرنا وی بی اے میں بے ترتیب تعداد تیار کریں ہمارے پاس ایک انبلٹ فنکشن ہے RND. بے ترتیب تعداد پیدا کرنے کے ل It یہ صرف ایک دلیل لیتا ہے اور یہ ایک اختیاری پیرامیٹر بھی ہے۔ یہ بے ترتیب تعداد پیدا کرے گا جو 0 سے زیادہ اور 1 سے چھوٹا ہے۔

یہ بالکل اسی طرح کام کرتا ہے جیسے ایکسل فنکشن "رینڈ"۔ جیسا کہ میں نے ورک شیٹ فنکشن "رینڈ" میں بتایا تھا ، وی بی اے میں بھی ہم بے ترتیب تعداد تیار کرسکتے ہیں جو 0 سے زیادہ لیکن 1 سے کم ہیں۔

اب "RND" فنکشن کے ترکیب پر ایک نظر ڈالیں۔

[نمبر]: ہم تین طرح سے دلیل کو پاس کرسکتے ہیں۔

  • اگر ہم تعداد کو <0 کے بطور پاس کرتے ہیں تو ، ہر بار وہی بے ترتیب نمبر تیار کرتا رہتا ہے۔
  • اگر ہم تعداد کو 0 کے طور پر پاس کرتے ہیں تو ، یہ اس نے دیئے گئے حالیہ نمبر کو دہرا دے گا۔
  • اگر ہم نمبر> 0 پاس کرتے ہیں تو ، یہ آپ کو مختلف بے ترتیب نمبرات دیتا ہے یعنی ترتیب میں اگلا بے ترتیب نمبر دیتا ہے۔

وی بی اے کوڈ کا استعمال کرتے ہوئے بے ترتیب نمبر کیسے بنائیں؟

آپ یہ وی بی اے رینڈم نمبر ایکسل ٹیمپلیٹ ڈاؤن لوڈ کرسکتے ہیں۔ وی بی اے رینڈم نمبر ایکسل ٹیمپلیٹ

مثال # 1

اب ہم "RND" فنکشن کے استعمال کی آسان مثال دیکھیں گے۔ خود ہی وی بی اے کوڈ لکھنے کے لئے درج ذیل اقدامات پر عمل کریں۔

مرحلہ نمبر 1: متغیر کے طور پر اعلان کریں وی بی اے میں "انٹیجر"

کوڈ:

 سب Rnd_Example1 () Dim K بطور انٹیجر اینڈ سب 

مرحلہ 2: اب "k" کے ذریعہ "متغیر" کو ویلیو تفویض کریںRND”فنکشن۔

کوڈ:

 سب Rnd_Example1 () Dim K As Integer K = Rnd () اختتام سب 

مرحلہ 3: میں متغیر “k” کے ذریعہ لوٹی گئی قیمت دکھائیں پیغام خانہ.

کوڈ:

 سب Rnd_Example1 () Dim K As Integer K = Rnd () MsgBox K End Sub 

اب ایکسل میکرو چلائیں اور دیکھیں کہ نتیجہ کیا نکلا ہے۔

دیکھو کیا ہوا ہے۔

یہ نتیجہ 1 کے طور پر دکھایا جا رہا ہے جہاں "RND" فنکشن صرف وہ نمبر واپس کرسکتا ہے جو صفر سے زیادہ لیکن 1 سے کم ہوں۔

آپ ضرور سوچ رہے ہوں گے کہ یہاں غلط چیز کیا ہے۔

یہاں غلط بات وہ قسم کا ڈیٹا ہے جو ہم نے متغیر “کے” کو تفویض کیا ہے۔

اگر آپ ان متغیر پر غور کریں جو ہم نے اعلان کیا ہے کہ ہم نے اعداد و شمار کی نوعیت کو انٹیجر کے طور پر تفویض کیا ہے۔ چونکہ ہم نے متغیر کو انٹیجر کی حیثیت سے تفویض کیا ہے ، لہذا یہ صرف -32768 سے 32767 کے درمیان پورا نمبر دکھا سکتا ہے۔

جب بھی RND اعشاریہ کی تعداد لوٹاتا ہے VBA اعشاریے کی تعداد کو قریب ترین عددی یعنی 1 میں تبدیل کرتا ہے۔

لہذا ، فارمولہ کے کام کو صحیح طور پر متغیر کے بطور اعلان کرنا۔دگنا”.

"ڈبل" وی بی اے میں ڈیٹا کی قسم ہے جو اعشاریہ اقدار کو برقرار رکھ سکتا ہے۔

کوڈ:

 سب Rnd_Example1 () D K K As Double K = Rnd () MsgBox K End Sub 

اب کوڈ اور دیکھیں کہ نتیجہ کیا نکلا ہے۔

ٹھیک پر کلک کریں اور ایک بار اور چلائیں اور دیکھیں کہ نتیجہ کیا نکلا ہے۔

اس بار ہمیں ایک مختلف نتیجہ ملا۔ چونکہ "RND" فطرت کا ایک غیر مستحکم فعل ہے جب بھی آپ کوڈ پر عمل درآمد کرتے ہیں تو یہ مختلف نتائج کو دوبارہ پیش کرتا ہے۔

مثال # 2 - ہر بار ایک ہی بے ترتیب نمبر حاصل کریں

جیسا کہ ہم نے پچھلی مثال کو دیکھا ہے کہ "RND" فنکشن جب بھی ہم کوڈ پر عمل کرتے ہیں تو نتیجہ کو پیش کرتا ہے۔ بار بار ایک ہی بے ترتیب نمبر حاصل کرنے کے ل we ، ہمیں دلیل کو صفر کی طرح پاس کرنے کی ضرورت ہے۔

کوڈ:

 سب Rnd_Example2 () D K K As Double K = Rnd (0) MsgBox K End Sub 

جب ہم کوڈ پر عمل کریں گے تو یہ بار بار ایک ہی نمبر پیدا کرے گا۔

مثال نمبر 3 - مکمل بے ترتیب نمبر بنائیں

ہم دوسرے VBA فنکشن یا دیگر ان پٹ نمبرز کا استعمال کرکے بھی پورے نمبر تیار کرسکتے ہیں۔ مثال کے طور پر نیچے کا کوڈ دیکھیں۔

کوڈ:

 سب Rnd_Example3 () D K K As Double K = 1 + Rnd * 100 MsgBox K End Sub 

یہ کوڈ ہر بار جب ہم کوڈ پر عمل کرتے ہیں تو اعشاریہ پانچ پوائنٹس کے ساتھ بے ترتیب پوری تعداد میں پیدا ہوتا ہے۔

اگر آپ بغیر کسی اعشاریے کے پورے نمبروں کو دیکھ رہے ہیں تو ہم ذیل میں موجود کوڈ استعمال کرسکتے ہیں۔

کوڈ:

 سب Rnd_Example3 () D K K As Double K = CInt (1 + Rnd * 100) MsgBox K End Sub 

اس سے پورے نمبر 1 سے 100 تک پیدا ہوتے رہیں گے۔