VBA GoTo स्टेटमेंट - VBA में GoTo स्टेटमेंट का उपयोग कैसे करें?

एक्सेल VBA GoTo स्टेटमेंट

VBA GoTo स्टेटमेंट का उपयोग तब किया जाता है जब त्रुटि संदेश को अनदेखा करके कोड की अगली पंक्ति को फिर से शुरू करने के लिए त्रुटि प्रदर्शित करने के बजाय कोड चलाते समय कोई त्रुटि उत्पन्न होती है। GOTO के दो प्रकार के कथन हैं, एक निर्दिष्ट कार्यपुस्तिका में वर्कशीट की किसी भी सीमा का चयन करना है और दूसरा एक त्रुटि हैंडलर है।

VBA में प्रत्याशित त्रुटियों को दूर करने के लिए, हमारे पास "GOTO" नामक एक फ़ंक्शन है। हम इस लेख में दोनों प्रकार के GoTo स्टेटमेंट देखेंगे।

VBA कोड में GoTo स्टेटमेंट का उपयोग करने के 2 तरीके

# 1 - Application.GoTo विधि

यदि आप सभी खुली हुई कार्यपुस्तिकाओं में विशिष्ट कार्यपुस्तिका या विशिष्ट कार्यपत्रक पर जाना चाहते हैं, तो हम आवेदन Application.GoTo विधि का उपयोग कर सकते हैं।

आइए Application.GoTo पद्धति के सिंटैक्स को देखें

  • (संदर्भ): यह एक निर्दिष्ट सेल संदर्भ के अलावा और कुछ नहीं है। यदि संदर्भ डिफ़ॉल्ट रूप से प्रदान नहीं किया जाता है, तो यह आपको अंतिम उपयोग की गई सेल रेंज में ले जाएगा।
  • (स्क्रॉल): यह TRUE या FALSE का एक तार्किक कथन है। यदि मान TRUE है, तो यह विंडो के माध्यम से स्क्रॉल करेगा। यदि मान FALSE है, तो यह विंडो के माध्यम से स्क्रॉल नहीं करेगा।
उदाहरण

यदि आप विशिष्ट वर्कशीट में किसी विशिष्ट सेल में जाना चाहते हैं, तो हम गोटो विधि का उपयोग कर सकते हैं। मेरे पास जनवरी, फ़रवरी और मार नाम की 3 शीट हैं।

यदि मैं जन पत्रक में सेल C5 पर जाना चाहता हूं, तो मैं नीचे दिए गए कोड का उपयोग करूंगा।

चरण 1: एक्सेल मैक्रो नाम प्रारंभ करें।

कोड:

उप GoTo_Example1 () समाप्ति उप

चरण 2: विधि " Application.GoTo " शुरू करें

कोड:

उप GoTo_Example1 ()

अनुप्रयोग

अंत उप

चरण 3: संदर्भ तर्क में, हमें वर्कशीट का नाम निर्दिष्ट करना होगा, और उस वर्कशीट में, हमें विशिष्ट सेल का उल्लेख करना होगा।

कोड:

उप GoTo_Example1 () Application.Goto संदर्भ: = कार्यपत्रक ("जन")। रेंज ("C5") अंतिम उप

चरण 4: स्क्रॉल को TRUE के रूप में उल्लेखित करें।

कोड:

उप GoTo_Example1 () Application.Goto संदर्भ: = कार्यपत्रक ("जन")। रेंज ("C5"), स्क्रॉल: = सही अंत उप

चरण 5: अब इस कोड को F5 कुंजी का उपयोग करके चलाएं, या आप इस कोड को मैन्युअल रूप से भी चला सकते हैं, यह आपको निर्दिष्ट शीट और निर्दिष्ट सेल में ले जाएगा।

अब मैं स्क्रॉल तर्क को FALSE में बदलूंगा और वह परिवर्तन देखूंगा जिसका वह सामना करेगा।

उप GoTo_Example1 () Application.Goto संदर्भ: = कार्यपत्रक ("जन")। श्रेणी ("C5"), स्क्रॉल: = गलत अंत उप

यदि आप किसी विशिष्ट कार्यपुस्तिका पर जाना चाहते हैं, तो आपको कार्यपुस्तिका का नाम कार्यपुस्तिका के नाम से पहले उल्लेख करना होगा।

उप GoTo_Example1 () Application.Goto संदर्भ: = कार्यपुस्तिकाएँ ("Book1.xlsx")। कार्यपत्रक ("जन") .श्रेणी ("C5"), स्क्रॉल: = गलत अंत उप।

# 2 - त्रुटि हैंडलर विधि

जब कोड की विशेष लाइन एक त्रुटि का सामना करती है, तो VBA बाकी कोड को निष्पादित करना बंद कर देता है और त्रुटि संदेश दिखाता है।

उदाहरण के लिए, कोड की निचली पंक्ति को देखें।

उप GoTo_Example2 () शीट्स ("अप्रैल")

उपरोक्त कोड अप्रैल में शीट को हटाने और एक नई शीट जोड़ने के लिए कहता है। सक्रिय कार्यपुस्तिका में, अगर अप्रैल नाम का कोई शीट नाम है, तो वह हटा देगा, अन्यथा यह नीचे त्रुटि संदेश संवाद बॉक्स दिखाएगा।

जब मैं इस कोड को चलाता हूं, तो मेरी कार्यपुस्तिका में अप्रैल नामक एक शीट नहीं थी, इसलिए VBA कोड शीट का नाम नहीं खोज सका और त्रुटि को फेंकता है। कभी-कभी हमें इस त्रुटि को नजरअंदाज करने की आवश्यकता होती है, क्योंकि अगर अप्रैल नाम की कोई शीट नाम नहीं है, तो हमें कोड की अन्य पंक्तियों के साथ जाना होगा।

इस त्रुटि को समाप्त करने के लिए, हम एक त्रुटि हैंडलर के रूप में GoTo विधि का उपयोग कर सकते हैं।

अब मैं कोड को संशोधित करूंगा क्योंकि अगली पंक्ति में त्रुटि हो जाती है।

उप GoTo_Example2 () त्रुटि GoTo NextLine शीट्स ("अप्रैल") पर। नेक्स्टलाइन को हटाएं: Sheets.Add End Sub

यदि आप इसे चलाते हैं, तो यह नई शीट को जोड़ देगा, भले ही अप्रैल नाम की कोई शीट न हो।

बयान "त्रुटि GoTo NextLine पर" यह समझता है कि यदि कोई त्रुटि होती है, तो यह अगली पंक्ति पर जाएगी, और अगली पंक्ति में, VBA कोड एक नई शीट जोड़ना है।

याद रखने वाली चीज़ें

  • यदि आप त्रुटि होने पर अगली पंक्ति पर कूदना चाहते हैं, तो आप अगली त्रुटि VBA कथन को फिर से शुरू करने का भी उपयोग कर सकते हैं।
  • अगले पर जाने के लिए, आपको यह सुनिश्चित करने की आवश्यकता है कि कोड की वह विशेष पंक्ति त्रुटि की उम्मीद है।
  • यदि इस त्रुटि हैंडलर के साथ कोड की महत्वपूर्ण रेखा समाप्त हो जाती है, तो आपका कार्य पूरी तरह से समाप्त नहीं हो सकता है।

दिलचस्प लेख...