VBA आपको तार्किक ऑपरेटरों का उपयोग करने की अनुमति देता है और, या, नहीं, ज़ोर मूल्यों की तुलना करने के लिए। ऑपरेटरों को "बूलियन" माना जाता है, जिसका अर्थ है कि वे परिणामस्वरूप सही या गलत लौटाते हैं।
यदि आप स्ट्रिंग्स की तुलना करना सीखना चाहते हैं, तो यहां क्लिक करें: VBA स्ट्रिंग्स की तुलना करें - StrComp
यदि आप सीखना चाहते हैं कि तुलना ऑपरेटरों का उपयोग कैसे करें, तो यहां क्लिक करें: वीबीए तुलना ऑपरेटर - बराबर और अधिक नहीं
और तार्किक ऑपरेटर का उपयोग करना
NS और तार्किक ऑपरेटर दो या दो से अधिक स्थितियों की तुलना करता है। यदि सभी शर्तें सत्य हैं, तो ऑपरेटर ट्रू वापस आ जाएगा। यदि शर्तों में से कम से कम एक सत्य नहीं है, तो ऑपरेटर झूठी वापसी करेगा। यहाँ एक उदाहरण है:
123456789101112 | मंद intA पूर्णांक के रूप मेंमंद intB पूर्णांक के रूप मेंबूलियन के रूप में धुंधला परिणामइंटा = 5इंटबी = 5अगर intA = 5 और intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
इस उदाहरण में, हम जांचना चाहते हैं कि क्या दोनों intA तथा इंटबी 5 के बराबर हैं। यदि यह सत्य है, तो बूलियन का मान blnपरिणाम सत्य होगा, अन्यथा असत्य होगा।
सबसे पहले, हम के मान सेट करते हैं intA तथा इंटबी 5 करने के लिए:
12 | इंटा = 5इंटबी = 5 |
उसके बाद, हम का उपयोग करते हैं और यदि मान 5 के बराबर है, तो जाँचने के लिए यदि कथन में ऑपरेटर:
12345 | यदि intA = 5 और intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
चूँकि दोनों चर 5 के बराबर हैं, अतः blnपरिणाम सच लौटाता है:
छवि 1. वीबीए में और तार्किक ऑपरेटर का उपयोग करना
या तार्किक ऑपरेटर का उपयोग करना
NS या तार्किक ऑपरेटर दो या दो से अधिक स्थितियों की तुलना करता है। यदि शर्तों में से कम से कम एक सत्य है, तो यह सत्य वापस आ जाएगी। यदि शर्तों में से कोई भी सत्य नहीं है, तो ऑपरेटर झूठी वापसी करेगा। यहाँ उदाहरण के लिए कोड है:
123456789101112 | मंद intA पूर्णांक के रूप मेंमंद intB पूर्णांक के रूप मेंबूलियन के रूप में धुंधला परिणामइंटा = 5इंटबी = 10अगर intA = 5 या intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
इस उदाहरण में, हम जांचना चाहते हैं कि क्या दोनों intA 5 के बराबर है या इंटबी 10 के बराबर है। यदि इनमें से कोई भी शर्त सत्य है, तो बूलियन का मान blnपरिणाम सत्य होगा, अन्यथा असत्य होगा।
सबसे पहले, हम का मान सेट करते हैं intA 5 और . तक इंटबी से 10:
12 | इंटा = 5इंटबी = 10 |
उसके बाद, हम का उपयोग करते हैं या यदि कोई मान 5 के बराबर है, तो जाँचने के लिए यदि कथन में ऑपरेटर:
12345 | अगर intA = 5 या intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
जैसा intA मान 5 है, blnपरिणाम सच लौटाता है:
छवि 2. वीबीए में या तार्किक ऑपरेटर का उपयोग करना
नॉट लॉजिकल ऑपरेटर का उपयोग करना
NS नहीं तार्किक ऑपरेटर एक या अधिक शर्तों की जाँच करता है। यदि शर्तें सत्य हैं, तो ऑपरेटर गलत लौटाता है। अन्यथा, यह सच हो जाता है। यहाँ उदाहरण के लिए कोड है:
12345678910 | मंद intA पूर्णांक के रूप मेंबूलियन के रूप में धुंधला परिणामइंटा = 5यदि नहीं (intA = 6) तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
इस उदाहरण में, हम जांचना चाहते हैं कि क्या का मान intA 6 के बराबर नहीं है। अगर intA 6 से भिन्न है, बूलियन का मान blnपरिणाम सत्य होगा, अन्यथा असत्य होगा।
सबसे पहले, हम का मान सेट करते हैं intA 5 करने के लिए:
1 | इंटा = 5 |
उसके बाद, हम if स्टेटमेंट में Not ऑपरेटर का उपयोग यह जांचने के लिए करते हैं कि क्या intA का मान 6 से भिन्न है:
12345 | यदि नहीं (intA = 6) तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
जैसा intA मान 5 है, blnपरिणाम सच लौटाता है:
छवि 3. वीबीए में नॉट लॉजिकल ऑपरेटर का उपयोग करना
Xor लॉजिकल ऑपरेटर का उपयोग करना
NS ज़ोर तार्किक ऑपरेटर दो या दो से अधिक स्थितियों की तुलना करता है। यदि शर्तों में से कोई एक सत्य है, तो यह सत्य वापस आ जाएगी। यदि कोई भी शर्त सत्य नहीं है, या एक से अधिक सत्य हैं, तो यह झूठी वापसी करेगा। यहाँ उदाहरण के लिए कोड है:
123456789101112 | मंद intA पूर्णांक के रूप मेंमंद intB पूर्णांक के रूप मेंबूलियन के रूप में धुंधला परिणामइंटा = 5इंटबी = 10अगर intA = 5 Xor intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
इस उदाहरण में, हम जांचना चाहते हैं कि क्या मूल्यों में से एक (intA या IntB) 5 के बराबर है। यदि केवल एक शर्त सत्य है, तो बूलियन का मान blnपरिणाम सत्य होगा, अन्यथा असत्य होगा।
सबसे पहले, हम का मान सेट करते हैं intA 5 और . तक इंटबी से 10:
12 | इंटा = 5इंटबी = 10 |
उसके बाद, हम का उपयोग करते हैं या यदि कोई मान 5 के बराबर है, तो जाँचने के लिए यदि कथन में ऑपरेटर:
12345 | अगर intA = 5 Xor intB = 5 तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
जैसा intA मान 5 और . है इंटबी 10 है, blnपरिणाम सच लौटाता है:
छवि 4. VBA में Xor लॉजिकल ऑपरेटर का उपयोग करना
ऑपरेटर है
यदि दो ऑब्जेक्ट वेरिएबल एक ही ऑब्जेक्ट को स्टोर करते हैं, तो Is ऑपरेटर परीक्षण करता है।
आइए एक उदाहरण देखें। यहां हम वर्कशीट ऑब्जेक्ट्स rng1 और rng2 को दो वर्कशीट असाइन करेंगे, यह परीक्षण करते हुए कि क्या दो वर्कशीट ऑब्जेक्ट एक ही वर्कशीट को स्टोर करते हैं:
12345678910111213 | उप तुलना ऑब्जेक्ट्स ()डिम ws1 वर्कशीट के रूप में, ws2 वर्कशीट के रूप मेंws1 = पत्रक सेट करें ("शीट 1")सेट ws2 = शीट्स ("शीट 2")अगर ws1 ws2 है तोMsgBox "वही WS"अन्यथाMsgBox "विभिन्न WSs"अगर अंतअंत उप |
बेशक वर्कशीट ऑब्जेक्ट समान नहीं हैं, इसलिए "अलग-अलग WS" लौटाए जाते हैं।
ऑपरेटर की तरह
लाइक ऑपरेटर सटीक मिलान के लिए दो स्ट्रिंग्स की तुलना कर सकता है। यह उदाहरण परीक्षण करेगा कि क्या कोई स्ट्रिंग "श्रीमान" से शुरू होती है।
1234567891011121314 | उप लाइक डेमो ()स्ट्रिंग के रूप में मंद strNameबूलियन के रूप में धुंधला परिणामstrName = "मिस्टर माइकल जेम्स"अगर strName जैसे "Mr*" तोblnResult = सहीअन्यथाblnResult = गलतअगर अंतअंत उप |