VBA "Is" ऑपरेटर का उपयोग दो ऑब्जेक्ट संदर्भों की तुलना करने के लिए किया जाता है।
यदि वस्तु संदर्भ समान हैं, है TRUE लौटाएगा। यदि वस्तु संदर्भ भिन्न हैं, है FALSE लौटाएगा।
कुछ नही है
का सबसे आम उपयोग है ऑपरेटर को यह जांचना है कि किसी ऑब्जेक्ट को ऑब्जेक्ट वैरिएबल को असाइन किया गया है या नहीं।
आप नीचे दी गई प्रक्रिया में देख सकते हैं कि यह कैसे काम करता है:
123456789101112 | उप कुछ भी नहीं है ()वर्कशीट के रूप में डिम WS'सेट डब्ल्यूएस = एक्टिवशीट'अगर ws कुछ भी नहीं है तोMsgBox "असाइन नहीं किया गया"अन्यथाMsgBox "असाइन किया गया"अगर अंतअंत उप |
ऑब्जेक्ट वैरिएबल को असाइन नहीं किए जाने के कारण होने वाली त्रुटियों को रोकने के लिए यह उपयोगी है।
प्रतिच्छेद - कुछ नहीं है
आमतौर पर, इसका उपयोग वर्कशीट चेंज इवेंट्स के साथ किया जाता है ताकि यह पता लगाया जा सके कि लक्ष्य सीमा एक निर्दिष्ट सीमा के भीतर आती है या नहीं।
1234567 | निजी उप वर्कशीट_चेंज (ByVal लक्ष्य सीमा के रूप में)इफ नॉट इंटरसेक्ट(टारगेट, रेंज("a1:a10")) Is कुछ भी नहीं तोMsgBox "छेड़छाड़"अगर अंतअंत उप |
है - वस्तुओं की तुलना करें
Is ऑपरेटर का उपयोग वस्तुओं की तुलना करने के लिए भी किया जा सकता है।
आइए एक उदाहरण देखें। यहां हम वर्कशीट ऑब्जेक्ट्स rng1 और rng2 को दो वर्कशीट असाइन करेंगे, यह परीक्षण करते हुए कि क्या दो वर्कशीट ऑब्जेक्ट एक ही वर्कशीट को स्टोर करते हैं:
12345678910111213 | उप तुलना ऑब्जेक्ट्स ()डिम ws1 वर्कशीट के रूप में, ws2 वर्कशीट के रूप मेंws1 = पत्रक सेट करें ("शीट 1")सेट ws2 = शीट्स ("शीट 2")अगर ws1 ws2 है तोMsgBox "वही WS"अन्यथाMsgBox "विभिन्न WSs"अगर अंतअंत उप |
बेशक वर्कशीट ऑब्जेक्ट समान नहीं हैं, इसलिए "अलग-अलग WS" लौटाए जाते हैं।