बूलियन चर प्रकार
VBA बूलियन डेटा प्रकार का उपयोग सही या गलत मानों को संग्रहीत करने के लिए किया जाता है। सत्य को 1 और असत्य को 0 से भी प्रदर्शित किया जा सकता है।
बूलियन वैरिएबल घोषित करने के लिए, आप डिम स्टेटमेंट (आयाम के लिए छोटा) का उपयोग करते हैं:
1 | बूलियन के रूप में धुंधला blnA |
फिर, एक चर के लिए एक मान निर्दिष्ट करने के लिए, आप बस बराबर चिह्न का उपयोग करते हैं:
1 | blnA = सच |
जब आप इसे किसी प्रक्रिया में रखते हैं, तो यह इस तरह दिख सकता है:
123456789101112 | उप blnउदाहरण ()'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में धुंधला blnA'वेरिएबल को पॉप्युलेट करने के लिए रन कोड - आमतौर पर कोड एक if या केस स्टेटमेंट होता है'अगर रेंज ("ए 1")> 0 तोblnA = सचअन्यथाblnA = असत्यअगर अंत'संदेश बॉक्स दिखाएं'MsgBox "यह देखने के लिए परीक्षण है कि क्या सेल का मान 0 से अधिक है" और blnAअंत उप |
यदि आप ऊपर दिए गए कोड को चलाते हैं, तो निम्न संदेश बॉक्स दिखाया जाएगा।
मॉड्यूल या वैश्विक स्तर पर बूलियन चर घोषित करें
पिछले उदाहरण में, हमने घोषित किया है बूलियन एक प्रक्रिया के भीतर परिवर्तनशील। एक प्रक्रिया के साथ घोषित चर का उपयोग केवल उस प्रक्रिया के भीतर ही किया जा सकता है।
इसके बजाय, आप मॉड्यूल या वैश्विक स्तर पर बूलियन चर घोषित कर सकते हैं।
मॉड्यूल स्तर
आप घोषणा करते हैं मॉड्यूल स्तर कोड मॉड्यूल के शीर्ष पर चर के साथ धुंधला बयान।
इन चरों का उपयोग उस कोड मॉड्यूल में किसी भी प्रक्रिया के साथ किया जा सकता है।
वैश्विक स्तर
आप भी घोषित करें वैश्विक स्तर कोड मॉड्यूल के शीर्ष पर चर। हालांकि, का उपयोग करने के बजाय धुंधला कथन, आप का उपयोग करेंगे सह लोक यह इंगित करने के लिए कथन कि बूलियन वेरिएबल आपके वीबीए प्रोजेक्ट में उपयोग करने के लिए उपलब्ध है।
1 | बूलियन के रूप में सार्वजनिक blnA |
यदि आप घोषित करने वाले थे बूलियन एक मॉड्यूल स्तर पर चर और फिर इसे एक अलग मॉड्यूल में उपयोग करने का प्रयास करें, आपको एक त्रुटि मिलेगी।
हालाँकि, यदि आपने सार्वजनिक कीवर्ड का उपयोग घोषित करने के लिए किया था बूलियन चर, त्रुटि नहीं होगी और प्रक्रिया पूरी तरह से चलेगी।
एक बूलियन चर का उपयोग करना
आप तार्किक तुलना में बूलियन चर का उपयोग करते हैं। इन्हें अक्सर इफ स्टेटमेंट के साथ प्रयोग किया जाता है ताकि परीक्षण किया जा सके कि कोई शर्त सही है या गलत है, या तार्किक परीक्षण लागू करने के लिए कोड की एक पंक्ति में - शायद यह देखने के लिए कि एक मान दूसरे से बड़ा है या नहीं।
12345678 | उप blnउदाहरण ()'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में मंद ब्लैना'यह देखने के लिए परीक्षण करें कि क्या एक संख्या अगली संख्या से बड़ी है'blnA = ४५ > ६८'संदेश बॉक्स दिखाएं'संदेश बॉक्स blnAअंत उप |
यदि आप ऊपर दिए गए कोड को चलाते हैं, तो आपको निम्न संदेश बॉक्स मिलेगा।
क्योंकि ४५, ६८ से बड़ा नहीं है!
बूलियन ऑपरेटरों का उपयोग करना
चूंकि तार्किक तुलना में बूलियन चर का उपयोग किया जाता है, इसलिए हम यह देखने के लिए तार्किक ऑपरेटरों और और या का उपयोग कर सकते हैं कि एक से अधिक शर्तें सही हैं या गलत।
AND ऑपरेटर का उपयोग करना
हम AND फ़ंक्शन का उपयोग यह देखने के लिए कर सकते हैं कि क्या दोनों शर्तें पूरी होती हैं।
12345678 | उप blnउदाहरण ()'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में मंद ब्लैना'यह देखने के लिए कि दोनों स्थितियां सत्य हैं या नहीं, परीक्षण करने के लिए AND ऑपरेटर का उपयोग करें'blnA = १० > १३ और १५ > १२'संदेश बॉक्स दिखाएं'संदेश बॉक्स blnAअंत उप |
या हम इफ स्टेटमेंट का उपयोग करके एक ही परीक्षण चला सकते हैं:
123456789101112 | उप blnउदाहरण ()'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में डिम ब्लाना'यह देखने के लिए कि दोनों स्थितियां सत्य हैं या नहीं, परीक्षण करने के लिए AND ऑपरेटर का उपयोग करें'यदि १० > १३ और १५ > १२ तोblnA = सचअन्यथाblnA = असत्यअगर अंत'संदेश बॉक्स दिखाएं'संदेश बॉक्स blnAअंत उप |
उपरोक्त दोनों उदाहरण वापस आ जाएंगे झूठा इस तथ्य के कारण कि 10 है नहीं 13 से अधिक - और दोनों बूलियन के सही होने के लिए शर्तें सही होनी चाहिए।
OR ऑपरेटर का उपयोग करना
हम OR फ़ंक्शन का उपयोग यह देखने के लिए कर सकते हैं कि क्या शर्तों में से एक पूरी होती है।
12345678 | उप blnउदाहरण ()'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में डिम ब्लाना'यह देखने के लिए कि दोनों स्थितियां सत्य हैं या नहीं, परीक्षण करने के लिए AND ऑपरेटर का उपयोग करें'blnA = १० > १३ या १५ > १२'संदेश बॉक्स दिखाएं'संदेश बॉक्स blnAअंत उप |
या हम इफ स्टेटमेंट का उपयोग करके एक ही परीक्षण चला सकते हैं:
123456789101112 | उप blnउदाहरण ()'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में मंद ब्लैना'यह देखने के लिए कि दोनों स्थितियां सत्य हैं या नहीं, परीक्षण करने के लिए AND ऑपरेटर का उपयोग करें'यदि १० > १३ या १५ > १२ तोblnA = सचअन्यथाblnA = असत्यअगर अंत'संदेश बॉक्स दिखाएं'संदेश बॉक्स blnAअंत उप |
ये उदाहरण लौटेंगे सच इस तथ्य के कारण कि 10 13 से बड़ा नहीं है लेकिन 15 IS 12 से बड़ा है - औरकेवल एक बूलियन के सही होने के लिए शर्त सही होनी चाहिए।
इफ स्टेटमेंट का उपयोग करना हमें अधिक तार्किक ऑपरेटरों का उपयोग करने की अनुमति देता है
NOT ऑपरेटर का उपयोग करना
हम बूलियन वैरिएबल के साथ NOT ऑपरेटर का भी उपयोग कर सकते हैं। NOT ऑपरेटर शर्त के मान को नकारता है - इसलिए यदि कोई शर्त सत्य है, तो NOT ऑपरेटर झूठी वापसी करेगा।
12345678910111213141516 | उप खोज अंतर ()'श्रेणी चर घोषित करें'मंद rng1 रेंज के रूप मेंमंद rng2 रेंज के रूप में'शीट एक सक्रिय करें'वर्कशीट्स ("शीट 1")। सक्रिय करें'श्रेणियों को आबाद करें'सेट rng1 = रेंज ("A3")सेट rng2 = रेंज ("बी 3")'यह देखने के लिए कि मान बराबर हैं या नहीं, NOT ऑपरेटर का उपयोग करें।यदि नहीं rng1.Value = rng2.Value तबMsgBox "कोशिकाओं में मान समान नहीं हैं"अन्यथाMsgBox "कोशिकाओं में मान समान हैं"अगर अंतअंत उप |
Xor लॉजिकल ऑपरेटर का उपयोग करना
NSज़ोर लॉजिकल ऑपरेटर का उपयोग दो या दो से अधिक स्थितियों की तुलना करने के लिए किया जाता है। यदि शर्तों में से कोई एक सत्य है, तो वह TRUE लौटाएगा। यदि 2 शर्तें हैं, और न तो सत्य हैं और न ही दोनों सत्य हैं, तो यह FALSE लौटाएगा।
1234567891011121314151617 | उप blnउदाहरण ()'पूर्णांक घोषित करें'मंद intA पूर्णांक के रूप मेंमंद intB पूर्णांक के रूप में'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में धुंधला परिणाम'चरों को आबाद करें'इंटा = 5इंटबी = 10'यह देखने के लिए जांचें कि कोई सत्य है या नहीं'अगर intA = 5 Xor intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंतMsgBox blnResultअंत उप |
उपरोक्त उदाहरण में, जैसा कि शर्तों में से एक सत्य है, संदेश बॉक्स वापस आ जाएगा सच.
1234567891011121314151617 | उप blnउदाहरण ()'पूर्णांक घोषित करें'मंद intA पूर्णांक के रूप मेंमंद intB पूर्णांक के रूप में'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में धुंधला परिणाम'चरों को आबाद करें'इंटा = 5इंटबी = 5'यह देखने के लिए जांचें कि कोई सत्य है या नहीं'अगर intA = 5 Xor intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंतMsgBox blnResultअंत उप |
हालाँकि, उपरोक्त उदाहरण में, जैसा कि दोनों स्थितियां सत्य हैं, संदेश बॉक्स वापस आ जाएगा झूठा.
1234567891011121314151617 | उप blnउदाहरण ()'पूर्णांक घोषित करें'मंद intA पूर्णांक के रूप मेंमंद intB पूर्णांक के रूप में'बूलियन वैरिएबल घोषित करें'बूलियन के रूप में धुंधला परिणाम'चरों को आबाद करें'इंटए = 6इंटबी = 8'यह देखने के लिए जांचें कि कोई सत्य है या नहीं'अगर intA = 5 Xor intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंतMsgBox blnResultअंत उप |
और अंत में, चूंकि दोनों स्थितियां FALSE हैं, इसलिए संदेश बॉक्स भी FALSE लौटाएगा।