एक्सेल VBA केस स्टेटमेंट
VBA केस स्टेटमेंट तार्किक कार्यों में से एक है। केस स्टेटमेंट कई तार्किक परीक्षणों का परीक्षण करता है और दो तरीकों से परिणाम तक पहुंचता है अर्थात यदि परिणाम या तार्किक परीक्षण परिणाम का एक सेट है और यदि परिणाम या तार्किक परीक्षण FALSE है तो परिणाम का दूसरा सेट है।

तार्किक परीक्षण आम तौर पर IF सूत्र का उपयोग करके किए जाते हैं, यह एक वर्कशीट फॉर्मूला या VBA कोडिंग में हो; दोनों प्लेटफार्मों में, यह फ़ंक्शन हमें कई प्रकार की जटिल गणनाओं को संचालित करने में मदद करता है। हममें से बहुत से लोगों को यह एहसास नहीं है कि हमारे पास VBA में IF स्टेटमेंट का विकल्प है, "केस स्टेटमेंट।" यह लेख आपको इस तार्किक कथन के बारे में पूरी जानकारी प्रदान करता है।
वाक्य - विन्यास
नीचे "सेलेक्ट केस" स्टेटमेंट का सिंटैक्स है।
केस का चयन करें "टेस्ट होने का मान" केस "लॉजिकल टेस्ट" है, यदि केस 1 सही है तो केस "लॉजिकल टेस्ट" है, अगर केस 2 ट्रायल केस है, तो "लॉजिकल टेस्ट" रिजल्ट है, यदि केस 3 ट्रायल केस है, तो मामला कोई भी नहीं है। परिणाम सही चयन कर रहे हैं
यह IF स्टेटमेंट सिंटैक्स के लगभग समान है, लेकिन ELSEIF का उपयोग करने के बजाय, हम केस 1, केस 2, केस 3 और इसी तरह का उपयोग करते हैं।
VBA केस स्टेटमेंट के उदाहरण
उदाहरण 1
सेल A1 में मैंने 240 के रूप में दर्ज किया है।

अब हम इस संख्या का परीक्षण करेंगे कि यह 200 से अधिक है या नहीं, सिलेक्ट CASE स्टेटमेंट का उपयोग करके ।
चरण 1: अब केस स्टेटमेंट चुनें।
कोड:
Sub Select_Case_Example1 () केस एंड सब का चयन करें

चरण 2: एक बार “सेलेक्ट केस” खुल जाने के बाद, हमें आपूर्ति करने की आवश्यकता है कि हम जो परीक्षण कर रहे हैं उसका मूल्य क्या है। इस मामले में, हम सेल A1 मानों का परीक्षण कर रहे हैं।
कोड:
Sub Select_Case_Example1 () केस रेंज ("A1") चुनें। मूल्य अंत उप

चरण 3: एक बार परीक्षण किया जाने वाला मान अब दिया जाता है, हमें " केस इज़ " शब्द का उपयोग करके एक्सेल में तार्किक परीक्षण लागू करने की आवश्यकता है ।
कोड:
Sub Select_Case_Example1 () केस रेंज ("A1") चुनें। वैल्यू केस है> 200 End Sub

चरण 4: अब, अगली पंक्ति में, हमें "परिणाम" मान की आपूर्ति करने की आवश्यकता है यदि लागू तार्किक परीक्षण TRUE है। संदेश बॉक्स में, हमें "संख्या> 200" के रूप में परिणाम की आवश्यकता है।
कोड:
Sub Select_Case_Example1 () केस रेंज ("A1") चुनें। वैल्यू केस है> 200 MsgBox "नंबर है> 200" End Sub

चरण 5: इस उदाहरण में, हमें केवल दो परिणामों की आवश्यकता है, इसलिए मैं अधिक "केस इज़" बयानों का उपयोग नहीं करूंगा। अगला, मैं VBA "सेलेक्ट केस" स्टेटमेंट को बंद करने के लिए "केस एल्स" शब्द का उपयोग करूंगा।
कोड:
Sub Select_Case_Example1 () केस रेंज ("A1") सेलेक्ट करें। वैल्यू केस> 200 MsgBox "नंबर है> 200" केस एल्स MsgBox "नंबर है <200" End Sub

चरण 6: सभी मामलों की आपूर्ति हो जाने के बाद, हमें "एंड सिलेक्ट" शब्द का उपयोग करके चुनिंदा केस स्टेटमेंट को बंद करना होगा।
कोड:
Sub Select_Case_Example1 () केस रेंज ("A1") सेलेक्ट करें। वैल्यू केस> 200 MsgBox "नंबर है> 200" Case Else MsgBox "नंबर है <200" End Select End Sub

चरण 7: अब कोड चलाएं और देखें कि वीबीए संदेश बॉक्स में हमें क्या परिणाम मिलता है।

हमें मिला परिणाम "संख्या> 200 है" क्योंकि सेल में A1 का मान 240 है, जो कि> 200 है।
उदाहरण # 2
अब हम परीक्षण स्कोर के कुछ व्यावहारिक वास्तविक समय के उदाहरण देखेंगे। नीचे VBA कोड देखें।
कोड:
Sub Select_Case_Example2() Dim ScoreCard As Integer ScoreCard = Application.InputBox("Score should be b/w 0 to 100", "What is the score you want to test") Select Case ScoreCard Case Is>= 85 MsgBox "Distinction" Case Is>= 60 MsgBox "First Class" Case Is>= 50 MsgBox "Second Class" Case Is>= 35 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

Let me explain the code line by line to understand better.
First, I have declared the variable as Integer, and for this variable, I have assigned the InputBox in VBA, where a user has to enter the score between 0 and 100.
When you run the code, you will see the input box like the below, and in this input box, you need to enter the score.

Now whatever we enter in the input box will be stored to the variable “ScoreCard.”
In the next line, I have applied a select case statement to test this score.
First, it will test the ScoreCard>=85 or not. If this is TRUE, then we will get the value in the message box as “Distinction.”
Select Case ScoreCard Case Is>= 85 MsgBox "Distinction"
Similarly, in the following lines, I have applied the second test as ScoreCard>=60. If this is TRUE, then it will show the result as “First.”
Case Is>= 60 MsgBox "First Class"
Like this, I have applied other tests as well, and in the end, I have used the “Case Else” statement. If all the applied logical tests are FALSE, then we will get the result as “Fail.”
Case Else MsgBox "Fail"
Now I have supplied 68 as the score, and we should get the result as “First Class” in the message box.

Example #3 - Using the “To” keyword
In the above example, we have used student scores to arrive at the result. The same test can be conducted by using the “To” word to determine the lower limit and upper limit of the logical test.
Code:
Sub Select_Case_Example3() Dim ScoreCard As Integer ScoreCard = Application.InputBox("Score should be b/w 0 to 100", "What is the score you want to test") Select Case ScoreCard Case 85 To 100 MsgBox "Distinction" Case 60 To 84 MsgBox "First Class" Case 50 To 59 MsgBox "Second Class" Case 35 To 49 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

I have used the same code as above, but the only yellow-colored area I have changed here. Based on the number we type in the input box accordingly, we will get the result.

Things to Remember
- सेलेक्ट केस IF स्टेटमेंट का विकल्प है।
- सेलेक्ट केस केवल VBA के साथ उपलब्ध है।
- "केस का चयन करें" की पहली पंक्ति में, हमें केवल उस मूल्य की आपूर्ति करने की आवश्यकता है जिसे परीक्षण करने की आवश्यकता है। फिर "केस" लाइन में, हमें तार्किक परीक्षण लागू करने की आवश्यकता है। यह हमारी आईएफ स्थिति के विपरीत है।