VBA में रेंडमाइज स्टेटमेंट
VBA रैंडमाइज़ स्टेटमेंट एक सरल-लाइनर स्टेटमेंट है जिसे हम RND फ़ंक्शन को लागू करने से पहले जोड़ते हैं। जब भी किसी कार्यपुस्तिका को फिर से खोला जाता है रैंडमाइज़ स्टेटमेंट कंप्यूटर के सिस्टम समय के आधार पर आरएनडी फ़ंक्शन को एक नया बीज नंबर प्रदान करता है।
इससे पहले कि मैं रैंडमाइज स्टेटमेंट के बारे में बात करूँ, मैं आपको VBA के साथ एक साधारण RND फ़ंक्शन से परिचित कराऊँ।
एक वर्कशीट फ़ंक्शन "RAND" के रूप में VBA में, "RND" भी यादृच्छिक संख्या उत्पन्न करेगा जो 0 से अधिक है लेकिन 1 से कम है।
अब "RND" फ़ंक्शन के सिंटैक्स पर एक नज़र डालें।
(संख्या): हम तर्क को तीन तरीकों से पारित कर सकते हैं।
- यदि हम संख्या को <0 के रूप में पास करते हैं, तो यह हर बार समान यादृच्छिक संख्या उत्पन्न करता रहता है।
- यदि हम संख्या को 0 के रूप में पास करते हैं, तो यह सबसे हालिया संख्या दोहराएगा जो उसने दी है।
- यदि हम संख्या> 0 पास करते हैं, तो यह आपको क्रम में अगले यादृच्छिक संख्या यानी अलग-अलग यादृच्छिक संख्याएँ देता रहता है।
उदाहरण
उदाहरण के लिए, नीचे दिए गए कोड को देखें।
कोड:
उप RND_Example () डीबग.प्रिंट Rnd समाप्ति उप
जब मैं तत्काल विंडो में कोड चलाता हूं, तो मैं नीचे की संख्या देख सकता हूं।
इसी तरह, जब मैं इस कोड को 3 और बार निष्पादित करता हूं, तो मैं नीचे दिए गए नंबर देख सकता हूं।
अब मैं वर्कबुक को बंद कर दूंगा और इसे फिर से खोलूंगा।
अब मैं दृश्य मूल संपादक विंडो पर वापस जाऊंगा।
अब तत्काल खिड़की खाली और साफ है।
अब फिर से, मैं चार बार कोड निष्पादित करूंगा और देखूंगा कि तत्काल विंडो में हमें कौन से नंबर मिलेंगे।
हमें उतने ही नंबर मिले जितने कि हमें ऊपर मिले।
यह एक यादृच्छिक संख्या की तरह नहीं दिखता है क्योंकि हर बार जब हम फ़ाइल को फिर से खोलते हैं, तो हम उसी संख्या को खरोंच से शुरू करते हैं।
इसलिए, हम कार्यपुस्तिका को फिर से खोलने या न बनाने के बावजूद यादृच्छिक संख्या कैसे उत्पन्न करते हैं?
हमें "रैंडमाइज" स्टेटमेंट का उपयोग करने की आवश्यकता है।
VBA रैंडमाइज़ स्टेटमेंट का उपयोग कैसे करें?
उदाहरण 1
यादृच्छिक संख्याओं को प्राप्त करने के लिए, हमें RND फ़ंक्शन से पहले साधारण वन-लाइनर "रैंडमाइज़" को जोड़ना होगा।
कोड:
उप रैंडमाइज़_1 () रेंडम डीबग करें। प्रिंट रंड एंड सब
अब मैं 4 बार कोड चलाऊंगा और देखूंगा कि मुझे क्या मिला।
इसने मेरी स्थानीय विंडो में उपरोक्त संख्याएँ उत्पन्न की हैं।
अब मैं फाइल को बंद करूंगा और फाइल को एक बार फिर से खोलूंगा।
हमेशा की तरह, हम दृश्य मूल विंडो में एक साफ स्लेट के साथ शुरू करते हैं।
अब मैं फिर से कोड निष्पादित करूंगा और देखूंगा कि इस बार हमें कौन से नंबर मिलते हैं।
वाह क्या बात है!!! हमें इस बार अलग-अलग नंबर मिले।
चूँकि हमने RND फ़ंक्शन से पहले रैंडमाइज़ जोड़ दिया है, इसलिए हर बार जब हम फ़ाइल को खोलते हैं तो हमें अलग-अलग रैंडम नंबर मिलते हैं।
यह एक यादृच्छिक संख्या की तरह लग रहा है, है ना ???
उदाहरण # 2
एक से अधिक यादृच्छिक संख्याएँ
जैसा कि हमने देखा है, "RND" फ़ंक्शन केवल 0 से 1 तक की संख्या उत्पन्न कर सकता है। लेकिन एक से अधिक यादृच्छिक संख्याओं को उत्पन्न करने के लिए, हमें "RANDOM BETWEEN" का उपयोग करने की आवश्यकता है, जो कार्यपत्रक वर्ग के साथ उपलब्ध है।
इसलिए, यादृच्छिक संख्याओं को एक से अधिक करने के लिए, हमें नीचे दिए गए कोड का उपयोग करना होगा।
कोड:
उप रैंडमाइज़ २.२ () डिबग्युलेट करें डिबग.प्रिंट रैंड * १०० एंड सब
अब मैं कोड निष्पादित करूंगा और देखूंगा कि हमें क्या मिला।
इस तरह, हम एक्सेल फ़ाइल को फिर से खोलने के लिए हर बार यादृच्छिक संख्या उत्पन्न करने के लिए VBA में "रैंडमाइज़" स्टेटमेंट का उपयोग कर सकते हैं।