VBA RND ఫంక్షన్‌ను ఉపయోగించి రాండమ్ నంబర్‌లను రూపొందించండి

ఎక్సెల్ VBA రాండమ్ నంబర్లు

కు vba లో యాదృచ్ఛిక సంఖ్యలను ఉత్పత్తి చేస్తుంది మాకు అంతర్నిర్మిత ఫంక్షన్ ఉంది RND. యాదృచ్ఛిక సంఖ్యలను ఉత్పత్తి చేయడానికి ఇది ఒక వాదన సంఖ్యను తీసుకుంటుంది మరియు ఇది కూడా ఒక ఐచ్ఛిక పరామితి. ఇది యాదృచ్ఛిక సంఖ్యలను 0 కంటే ఎక్కువ మరియు 1 కన్నా చిన్నదిగా సృష్టిస్తుంది.

ఇది ఎక్సెల్ ఫంక్షన్ “RAND” వలె పనిచేస్తుంది. వర్క్‌షీట్ ఫంక్షన్ “RAND” లో నేను చెప్పినట్లుగా, VBA లో కూడా మనం 0 కంటే ఎక్కువ కాని 1 కన్నా తక్కువ ఉన్న యాదృచ్ఛిక సంఖ్యలను ఉత్పత్తి చేయవచ్చు.

ఇప్పుడు “RND” ఫంక్షన్ యొక్క వాక్యనిర్మాణాన్ని చూడండి.

[సంఖ్య]: మేము వాదనను మూడు విధాలుగా పాస్ చేయవచ్చు.

  • మేము సంఖ్యను <0 గా పాస్ చేస్తే, అది ప్రతిసారీ ఒకే యాదృచ్ఛిక సంఖ్యను ఉత్పత్తి చేస్తుంది.
  • మేము సంఖ్యను 0 గా పాస్ చేస్తే, అది ఇచ్చిన ఇటీవలి సంఖ్యను ఇది పునరావృతం చేస్తుంది.
  • మేము సంఖ్య> 0 ను దాటితే, అది మీకు వేర్వేరు యాదృచ్ఛిక సంఖ్యలను ఇస్తుంది, అనగా క్రమంలో తదుపరి యాదృచ్ఛిక సంఖ్య.

VBA కోడ్ ఉపయోగించి యాదృచ్ఛిక సంఖ్యలను ఎలా సృష్టించాలి?

మీరు ఈ VBA రాండమ్ నంబర్స్ ఎక్సెల్ మూసను ఇక్కడ డౌన్‌లోడ్ చేసుకోవచ్చు - VBA రాండమ్ నంబర్స్ ఎక్సెల్ మూస

ఉదాహరణ # 1

ఇప్పుడు మనం “RND” ఫంక్షన్‌ను ఉపయోగించే సాధారణ ఉదాహరణను చూస్తాము. మీ స్వంతంగా VBA కోడ్ రాయడానికి క్రింది దశలను అనుసరించండి.

దశ 1: వేరియబుల్ గా ప్రకటించండి VBA లో “పూర్ణాంకం”

కోడ్:

 ఉప Rnd_Example1 () మసకబారిన పూర్ణాంక ముగింపు ఉప 

దశ 2: ఇప్పుడు “k” అనే వేరియబుల్‌కు విలువను కేటాయించండిRND”ఫంక్షన్.

కోడ్:

 ఉప Rnd_Example1 () మసకబారిన K గా పూర్ణాంకం K = Rnd () ముగింపు ఉప 

దశ 3: “K” అనే వేరియబుల్ ద్వారా తిరిగి వచ్చిన విలువను చూపించు సందేశ పెట్టె.

కోడ్:

 ఉప Rnd_Example1 () Dim K As Integer K = Rnd () MsgBox K End Sub 

ఇప్పుడు ఎక్సెల్ మాక్రోను అమలు చేయండి మరియు ఫలితం ఏమిటో చూడండి.

ఏమి జరిగిందో చూడండి.

ఇది ఫలితాన్ని 1 గా చూపిస్తుంది, ఇక్కడ “RND” ఫంక్షన్ సున్నా కంటే ఎక్కువ కాని 1 కన్నా తక్కువ ఉన్న సంఖ్యలను మాత్రమే తిరిగి ఇవ్వగలదు.

ఇక్కడ తప్పు ఏమిటో మీరు ఆలోచిస్తూ ఉండాలి.

ఇక్కడ తప్పు విషయం ఏమిటంటే మనం “k” అనే వేరియబుల్‌కు కేటాయించిన డేటా రకం.

మీరు వేరియబుల్ వైపు తిరిగి చూస్తే, మేము డేటా రకాన్ని పూర్ణాంకంగా కేటాయించామని ప్రకటించాము. మేము వేరియబుల్‌ను పూర్ణాంకంగా కేటాయించినందున, ఇది -32768 నుండి 32767 మధ్య మొత్తం సంఖ్యలను మాత్రమే చూపిస్తుంది.

RND దశాంశ సంఖ్యను తిరిగి ఇచ్చినప్పుడల్లా VBA దశాంశ సంఖ్యను సమీప పూర్ణాంకానికి మారుస్తుంది, అంటే 1.

కాబట్టి, ఫార్ములా సరిగ్గా పనిచేయడానికి వేరియబుల్‌ను “డబుల్”.

“డబుల్” అనేది దశాంశ విలువలను కలిగి ఉండే VBA లోని డేటా రకం.

కోడ్:

 సబ్ Rnd_Example1 () డిమ్ K గా డబుల్ K = Rnd () MsgBox K ఎండ్ సబ్ 

ఇప్పుడు కోడ్ మరియు ఫలితం ఏమిటో చూడండి.

సరేపై క్లిక్ చేసి, మరోసారి రన్ చేసి, ఫలితం ఏమిటో చూడండి.

ఈసారి మాకు వేరే ఫలితం వచ్చింది. “RND” అనేది ప్రకృతిలో అస్థిర ఫంక్షన్ కాబట్టి, మీరు కోడ్‌ను అమలు చేసిన ప్రతిసారీ ఇది వేర్వేరు ఫలితాలను పునరుత్పత్తి చేస్తుంది.

ఉదాహరణ # 2 - ప్రతిసారీ ఒకే రాండమ్ సంఖ్యను పొందండి

మేము మునుపటి ఉదాహరణను చూసినట్లుగా, “RND” ఫంక్షన్ మేము కోడ్‌ను అమలు చేసిన ప్రతిసారీ ఫలితాన్ని పునరుత్పత్తి చేస్తుంది. అదే యాదృచ్ఛిక సంఖ్యను పొందడానికి, మళ్లీ మళ్లీ, మనం వాదనను సున్నాగా పాస్ చేయాలి.

కోడ్:

 సబ్ Rnd_Example2 () డిమ్ K గా డబుల్ K = Rnd (0) MsgBox K ఎండ్ సబ్ 

మేము కోడ్‌ను అమలు చేసినప్పుడు ఇది మళ్లీ మళ్లీ అదే సంఖ్యను ఉత్పత్తి చేస్తుంది.

ఉదాహరణ # 3 - మొత్తం రాండమ్ సంఖ్యను సృష్టించండి

మేము ఇతర VBA ఫంక్షన్ లేదా ఇతర ఇన్పుట్ నంబర్లను ఉపయోగించి మొత్తం సంఖ్యలను కూడా సృష్టించవచ్చు. ఉదాహరణకు ఈ క్రింది కోడ్‌ను చూడండి.

కోడ్:

 సబ్ Rnd_Example3 () డిమ్ K గా డబుల్ K = 1 + Rnd * 100 MsgBox K ఎండ్ సబ్ 

మేము కోడ్‌ను అమలు చేసిన ప్రతిసారీ ఈ కోడ్ యాదృచ్ఛిక మొత్తం సంఖ్యలను దశాంశ బిందువులతో ఉత్పత్తి చేస్తుంది.

మీరు దశాంశ బిందువులు లేకుండా మొత్తం సంఖ్యలను చూస్తున్నట్లయితే, మేము ఈ క్రింది కోడ్‌ను ఉపయోగించవచ్చు.

కోడ్:

 సబ్ Rnd_Example3 () Dim K As Double K = CInt (1 + Rnd * 100) MsgBox K End Sub 

ఇది 1 నుండి 100 వరకు మొత్తం సంఖ్యలను ఉత్పత్తి చేస్తుంది.