ऑन एरर रिझ्युम नेक्स्ट: एक्सेल VBA मध्ये एरर हाताळणे

  • ह्याचा प्रसार करा
Hugh West

Microsoft Excel VBA मध्ये, त्रुटी हाताळणे हे एक महत्त्वाचे काम आहे. जर तुम्ही कोडर असाल, तर तुम्हाला अचूक अॅप्लिकेशन तयार करण्यासाठी एरर हाताळणीचे महत्त्व माहीत आहे. विधानातील कोणतीही चूक तुमच्या VBA कोडला अनेक मार्गांनी अडथळा आणू शकते. म्हणून, VBA कोड कार्यान्वित करताना त्या त्रुटी हाताळण्यासाठी तुम्ही सावध असले पाहिजे. Excel मध्ये VBA कोड वापरताना तुम्हाला अनेक रन-टाइम त्रुटींचा सामना करावा लागतो. त्यापैकी एक सोडवण्यासाठी, आम्ही ऑन एरर रिझ्युम नेक्स्ट स्टेटमेंट वापरतो.

या ट्युटोरियलमध्ये, तुम्ही एक्सेलमधील ऑन एरर रिझ्युम नेक्स्ट स्टेटमेंट वापरण्यास शिकाल. VBA. हे ट्यूटोरियल योग्य उदाहरणे आणि योग्य उदाहरणांसह असेल. तर, आमच्यासोबत रहा.

सराव वर्कबुक डाउनलोड करा

VBA ऑन एरर रिझ्युम Next.xlsm

Excel मध्ये एरर हँडलिंग VBA

Microsoft Excel VBA सह काम करत असताना, तुम्हाला तुमच्या उप-प्रक्रियेत अनेक त्रुटींचा सामना करावा लागेल. जेव्हा VBA एखादे विधान कार्यान्वित करू शकत नाही, तेव्हा ते रन-टाइम त्रुटी टाकते.

Excel आपोआप या त्रुटींना सामोरे जाते, म्हणून जेव्हा रन-टाइम त्रुटी उद्भवते, तेव्हा ते खालीलप्रमाणे डीफॉल्ट त्रुटी संदेश प्रदर्शित करते:

आता, तुम्ही काही VBA स्टेटमेंट्सच्या सहाय्याने याला विविध प्रकारे सामोरे जाऊ शकता. मी नंतरच्या विभागांमध्ये त्यांची चर्चा करेन.

अधिक वाचा: #REF कसे निश्चित करावे! एक्सेलमधील त्रुटी (6 सोल्यूशन्स)

VBA मधील त्रुटी विधानांवर

रन टाइम त्रुटी हाताळण्यासाठी, आम्ही ऑन एरर स्टेटमेंटसह एक्सेलला सूचना देतो. ते ठरवतेएक्सेलमधील NAME त्रुटी (10 उदाहरणे)

💬 लक्षात ठेवण्यासारख्या गोष्टी

✎ ऑन एरर नेक्स्ट रिझ्युम त्रुटी दूर करत नाही. हे मुळात त्रुटीकडे दुर्लक्ष करते आणि पुढील विधानाकडे जाते.

एक्सेल एरर ऑब्जेक्टमध्ये रन-टाइम एरर्स अडकवते आणि संग्रहित करते. जेव्हा आम्ही ऑन एरर रिझ्युम नेक्स्ट स्टेटमेंट वापरतो, तेव्हा ते एरर ऑब्जेक्ट गुणधर्म साफ करते.

तुम्ही ऑन एरर रिझ्युम नेक्स्ट बंद करू शकता एक्सेलमधील तुमच्या VBA कोडमध्ये On Error GoTo 0 स्टेटमेंट जोडून स्टेटमेंट.

निष्कर्ष

समाप्त करण्यासाठी, मला आशा आहे की या ट्युटोरियलने तुम्हाला एक उपयुक्त भाग दिला असेल. एक्सेल VBA मध्ये ऑन एरर रिझ्युम नेक्स्ट वापरण्यासाठी ज्ञान. मी शिफारस करतो की तुम्ही या सर्व सूचना जाणून घ्या आणि तुमच्या डेटासेटवर लागू करा. सराव कार्यपुस्तिका डाउनलोड करा आणि ते स्वतः वापरून पहा. तसेच, टिप्पणी विभागात मोकळ्या मनाने प्रतिक्रिया द्या. तुमचा मौल्यवान अभिप्राय आम्हाला यासारखे ट्यूटोरियल तयार करण्यास प्रेरित करतो.

विविध एक्सेल-संबंधित समस्या आणि उपायांसाठी आमची वेबसाइट Exceldemy.com पाहण्यास विसरू नका.

नवीन पद्धती शिकत राहा आणि वाढत रहा!

आम्हाला पुढील कोणत्या प्रकारची ऑपरेशन्स लगेच करायची आहेत. मूलभूतपणे, आम्ही या प्रकारच्या त्रुटी हाताळणीद्वारे या त्रुटी अक्षम करतो.

आम्ही Excel VBA मध्ये तीन प्रकारचे ऑन एरर स्टेटमेंट्स(सिंटॅक्स) वापरतो.

  • ऑन एरर GoTo लाइन
  • ऑन एरर रिझ्युम नेक्स्ट
  • ऑन एरर GoTo 0

जेव्हा तुम्हाला एरर आढळते, तेव्हा ऑन एरर कमांड वापरा. कारण तुम्ही ऑन एरर घोषणेचा वापर न केल्यास, त्या रन-टाइम त्रुटी विनाशकारी असतील. ते एरर प्रॉम्प्ट दाखवेल आणि अंमलबजावणी थांबवेल.

जेव्हा आम्ही ऑन एरर स्टेटमेंट वापरतो, तेव्हा आम्ही "सक्षम" एरर हँडलर चालू करतो. "सक्रिय" एरर हँडलर एक सक्षम हँडलर आहे जो एरर हाताळणी ऑपरेशन सुरू करतो. एरर हँडलर गुंतलेला असताना एखादी चूक झाल्यास, सध्याच्या पद्धतीचा एरर हँडलर त्रुटी सहन करू शकत नाही. त्यानंतर, नियंत्रण कॉलिंग प्रक्रियेकडे परत येते.

कॉलिंग प्रक्रियेमध्ये एरर हँडलर सक्षम असल्यास, ते त्रुटी व्यवस्थापित करण्यासाठी ट्रिगर केले जाते. तुमच्‍या कॉलिंग सिस्‍टमचा एरर हँडलर त्‍यानुसार गुंतलेला असल्‍यास, जोपर्यंत सक्षम परंतु निष्क्रिय एरर हँडलर सापडत नाही तोपर्यंत नियंत्रण आधीच्या कॉलिंग प्रक्रियेद्वारे परत मिळते. तो कोणताही निष्क्रिय सक्षम एरर हँडलर शोधू शकत नसल्यास, याचा अर्थ त्रुटी त्याच्या उद्भवलेल्या बिंदूवर आपत्तीजनक आहे.

प्रत्येक वेळी एरर हँडलर कॉलिंग प्रक्रियेस परत अधिकार देतो, ती प्रक्रिया विद्यमान प्रक्रिया विकसित करते. मध्ये अंमलबजावणी पुन्हा सुरू होतेजेव्हा एरर हँडलर कोणत्याही प्रक्रियेतील त्रुटी हाताळतो तेव्हा पुन्हा सुरू करा विधानाद्वारे निवडलेल्या क्षणी वर्तमान प्रक्रिया.

VBA

मध्‍ये 'ऑन एरर रीझ्युम नेक्‍ट' आता, एरर रिझ्युम नेक्स्टवर विधान VBA ला कोडच्या कोणत्याही त्रुटी असलेल्या ओळींकडे दुर्लक्ष करण्यास सांगते आणि कोडच्या खालील ओळीवर त्वरित पुढे जा. त्यानंतर, एक्सेल व्हीबीए कोड त्या ओळी किंवा ओळी वगळतील ज्यामध्ये त्रुटी असतील आणि कोडच्या पुढील क्रमावर जातील.

ऑन एरर रीझ्युम नेक्स्ट स्टेटमेंट अंमलबजावणीस भाग पाडेल रन-टाइम त्रुटी प्रेरित करणार्‍या कोडच्या ओळीचा त्वरित पाठपुरावा करून कमांडसह पुन्हा सुरू करा. रन-टाइम त्रुटी असली तरीही हे विधान अंमलबजावणी वगळण्याची परवानगी देते. जर तुम्हाला वाटत असेल की कोडची एखादी विशिष्ट ओळ एरर निर्माण करू शकते, तर एरर-हँडलिंग रूटीनला प्रक्रियेमध्ये दुसर्‍या ठिकाणी ठेवण्याऐवजी तेथे ठेवा. जेव्हा तुमचा कोड दुसर्‍या प्रक्रियेला कॉल करतो तेव्हा Error Resume Next स्टेटमेंट निष्क्रिय होते. त्यामुळे, जेव्हा तुम्हाला त्या रूटीनमध्ये जुळलेल्या त्रुटी हाताळण्याची आवश्यकता असेल, तेव्हा तुम्हाला प्रत्येक नावाच्या पॅटर्नमध्ये ऑन एरर रिझ्युम नेक्स्ट कमांड चालवावी लागेल.

जेव्हा तुम्ही कोडची ओळ मॅक्रोच्या भरभराटीसाठी वगळणे आवश्यक नाही. पण लक्षात ठेवा, तुम्ही ते चुकीच्या पद्धतीने वापरल्यास ते हानिकारक ठरू शकते कारण ते अनपेक्षित परिणाम देऊ शकते.

लक्षात ठेवा:

द चालू एरर रिझ्युम पुढील विधान नाहीरनटाइम त्रुटी दुरुस्त करा. हे मुळात त्या त्रुटींकडे दुर्लक्ष करते जेथे रनटाइम त्रुटी व्युत्पन्न केलेल्या विधानातून तुमची VB अंमलबजावणी पुन्हा सुरू होईल.

खालील कोडवर एक नजर टाका:

5686

आम्ही 5 विभाजित करण्याचा प्रयत्न केला. 0 आणि 1 सह. कोड रन करू. ते खालील आउटपुट दर्शवेल:

हे रन-टाइम त्रुटी निर्माण करते. आम्ही संख्या ० ने विभाजित करू शकत नाही. जेव्हा तुम्ही कोड डीबग कराल, तेव्हा तुम्हाला पुढील गोष्टी दिसतील:

जेव्हा VB प्रोग्रामला एरर आढळते, ते लगेच प्रक्रिया थांबवते. हे खालील ओळ कार्यान्वित करत नाही.

आता, एरर स्टेटमेंटच्या आधी ऑन एरर रिझ्युम नेक्स्ट स्टेटमेंट अंमलात आणू:

2650

कोड रन केल्यानंतर, तुम्ही खालील पहा:

तुम्ही पाहू शकता की, VBA त्रुटी निर्माण करणार्‍या ओळीकडे दुर्लक्ष करते आणि कोडच्या खालील ओळीवर त्वरित पुढे जाते. अशा प्रकारे, एक्सेल VBA मधील त्रुटी हाताळण्यासाठी तुम्ही ऑन एरर रिझ्युम नेक्स्ट स्टेटमेंट वापरू शकता.

VBA मधील 'ऑन एरर रिझ्युम नेक्स्ट' ची उदाहरणे

मध्ये पुढील विभागांमध्ये, मी तुम्हाला ऑन एरर रिझ्युम नेक्स्ट विधानाची दोन उदाहरणे देत आहे जी तुम्ही VBA वापरून तुमच्या एक्सेल वर्कशीटमध्ये लागू करू शकता. मी तुम्हाला हे सर्व शिका आणि तुमच्या वर्कबुकमध्ये लागू करण्याची शिफारस करतो. हे निश्चितपणे तुमचे एक्सेल ज्ञान वाढवेल.

1. वर्कशीट्स लपवण्यासाठी ‘ऑन एरर रिझ्युम नेक्स्ट’ विधान

आता, या उदाहरणात, मी तुम्हाला एक VBA कोड दाखवतो जोतुमच्या सक्रिय वर्कबुकची सर्व वर्कशीट्स लपवेल.

खालील स्क्रीनशॉटवर एक नजर टाका:

येथे, आमच्याकडे चार वर्कशीट्स आहेत. आम्ही खालील VBA कोड वापरून ते सर्व लपवू:

7482

जेव्हा तुम्ही खालील कोड कार्यान्वित कराल, तेव्हा तुम्हाला खालील रन-टाइम त्रुटी दिसेल:

एक्सेल ही त्रुटी दाखवते कारण तुम्ही वर्कबुकमधील सर्व पत्रके लपवू शकत नाही. म्हणून, आपल्याला त्रुटीकडे दुर्लक्ष करावे लागेल. हे करण्यासाठी, तुम्हाला तुमच्या कोडच्या लाइनमध्ये ऑन एरर रिझ्युम नेक्स्ट स्टेटमेंट लागू करावे लागेल.

7681

VBA कोडची अंमलबजावणी पूर्ण केल्यानंतर, तुम्हाला खालील आउटपुट दिसेल:

शेवटी, अंमलबजावणीनंतर तुम्हाला कोणत्याही त्रुटी दिसणार नाहीत. त्यामुळे, आमच्या ऑन एरर रिझ्युम नेक्स्ट स्टेटमेंटने VBA कोडमध्ये खरोखर चांगले काम केले.

अधिक वाचा: एक्सेलमधील त्रुटी आणि त्यांचा अर्थ (15 भिन्न त्रुटी) <3

2. VBA मध्ये 'ऑन एरर रिझ्युम नेक्स्ट' सह VLOOKUP फंक्शन

या उदाहरणात, मी VBA मधील VLOOKUP फंक्शन चे उदाहरण दाखवेन. आता, या VBA कोडमध्ये Error Resume Next स्टेटमेंट देखील समाविष्ट आहे.

खालील स्क्रीनशॉट पहा:

येथे , तुम्ही काही लोकांची नावे आणि त्यांचे वय पाहू शकता. शेजारील टेबलमध्ये, आम्ही व्यक्तीचे नाव आणि वय शोधण्यासाठी VLOOKUP वापरू.

हे करण्यासाठी खालील कोड टाइप करा:

4528

आता, मॅक्रो चालवा. . तुम्हाला खालील एरर दिसेल:

आता, हा रन-टाइम आहेत्रुटी असे का घडते? डेटासेटवर पुन्हा एक नजर टाका:

तुम्ही पाहू शकता की, "आरोन" आणि "एम्मा" साठी कोणताही डेटा नाही. म्हणूनच पहिल्या एंट्रीसाठी ते फक्त VLOOKUP कार्यान्वित करते. त्यानंतर, ते अंमलबजावणी थांबवते. आता, जर तुम्हाला त्रुटीकडे दुर्लक्ष करायचे असेल आणि उर्वरित वय शोधण्यासाठी पुढे जायचे असेल, तर ऑन एरर रीझ्युम नेक्स्ट विधान वापरा.

1166

VBA कोड चालवल्यानंतर, तुम्हाला दिसेल. खालील आउटपुट:

तुम्ही बघू शकता, ऑन एरर रीझ्युम नेक्स्ट कमांड लागू करून, आम्ही त्रुटीकडे दुर्लक्ष केले आणि उर्वरित व्यक्ती शोधल्या. वय आमच्या VBA कोडला आरोन आणि एम्माचा कोणताही डेटा सापडला नाही. म्हणूनच त्याने त्या मूल्यांकडे दुर्लक्ष केले आणि Excel वर्कशीटमधील उर्वरित मूल्ये परत केली.

अधिक वाचा: [निश्चित] एक्सेलला या वर्कशीटमध्ये एक किंवा अधिक सूत्र संदर्भांसह समस्या आढळली

Excel VBA सह 'ऑन एरर रिझ्युम नेक्स्ट' बंद करा

आता, तुम्ही अशा परिस्थितीत असाल जिथे तुम्हाला VBA कोडच्या विशिष्ट विभागातील त्रुटींकडे दुर्लक्ष करायचे आहे. लक्षात ठेवा, जर तुम्ही VBA कोडमध्ये ऑन एरर रिझ्युम नेक्स्ट स्टेटमेंट वापरत असाल, तर ते त्यानंतरच्या सर्व त्रुटी वगळेल. आता, जर तुम्हाला ते बंद करायचे असेल आणि दुसर्‍या विभागासाठी त्रुटी हाताळणी सक्षम करायची असेल, तर ऑन एरर GoTo 0 वापरा. ते पुन्हा त्रुटी हाताळणे सक्षम करेल.

सामान्य वापर:

सब एरर_हँडलिंग()

त्रुटी दुर्लक्षित करण्यासाठी

त्रुटी पुन्हा सुरू करा पुढे

// कोडच्या ओळी

प्रतिएरर हाताळणी चालू करा

एरर GoTo 0 वर

//कोडांच्या ओळी

एंड सब

वर एक नजर टाका खालील VBA कोड:

4143

आम्ही कोड पूर्वी VLOOKUP फंक्शनसाठी वापरला होता. तुम्हाला दाखवण्यासाठी येथे कोडचा अतिरिक्त भाग जोडला आहे. आमचा कोड VLOOKUP करत असताना त्रुटींकडे दुर्लक्ष करेल परंतु ते On Error GoTo 0 विधानानंतर त्रुटी हाताळणे सक्रिय करेल.

अधिक वाचा: Excel VBA: “ऑन एरर रिझ्युम नेक्स्ट” बंद करा

VBA 'ऑन एरर GoTo'

पूर्वी मी चर्चा केली होती ऑन एरर पद्धत वापरून त्रुटी हाताळणे. आमचा संपूर्ण लेख नेक्स्ट रिझ्युम एरर बद्दल होता. आता, त्रुटी हाताळण्याचे दोन प्रकार आहेत ज्यांची मी पुढील विभागांमध्ये चर्चा करेन.

1. VBA ऑन एरर GoTo 0

The On Error Goto 0 तुमच्या कोडमध्ये एरर हँडलर नसल्यास स्टेटमेंट ही एक्सेलची इनबिल्ट सेटिंग आहे. हे मूलतः असे सूचित करते की जेव्हा VBA ला On Error GoTo 0 सह त्रुटी आढळते, तेव्हा ते कोड चालवणे थांबवेल आणि त्याचा पारंपारिक त्रुटी संदेश बॉक्स दर्शवेल.

एरर GoTo 0<2 वर> विधान मुळात सध्याच्या प्रक्रियेत त्रुटी हाताळणे बंद करते. हे एरर-हँडलिंग कोडची सुरूवात म्हणून ओळ 0 परिभाषित करत नाही, जरी पद्धतीमध्ये 0 क्रमांकित ओळ समाविष्ट केली असली तरीही.

खालील कोड पहा:

7401

आमच्याकडे आहे तुम्हाला हा कोड आधीच दाखवला आहे. हा कोड मुळात सर्व वर्कशीट्स लपवतोतुमच्या वर्तमान कार्यपुस्तिकेत. आता, माझ्याकडे त्रुटी दाखवण्यासाठी On Error GoTo 0 सह कोडचा अतिरिक्त तुकडा आहे. तुम्ही कोड चालवल्यास, तुम्हाला खालील दिसेल:

हे ही त्रुटी दाखवते कारण आमच्याकडे सक्रिय वर्कबुकमध्ये समान नावाची पत्रके असू शकत नाहीत.

2. VBA ऑन एरर GoTo लाइन

आता, तुम्ही एक्सेलला ऑन एरर GoTo लाइन वापरून काही त्रुटी आढळल्यास कोडचा दुसरा विभाग चालवण्याची सूचना देखील देऊ शकता. ते एक्सेलला एरर सापडल्यानंतर काहीतरी कार्यान्वित करण्यास सांगते.

लाइन आर्ग्युमेंट हा कोणताही लाइन टॅग किंवा लाइन नंबर असतो. आमच्या कोडमुळे रन-टाइम एरर उद्भवल्यास, तो ओळीवर जाईल, ज्यामुळे एरर हँडलर अंमलबजावणीमध्ये सक्रिय होईल. लक्षात ठेवा, तुमची परिभाषित ओळ ऑन एरर स्टेटमेंट प्रमाणेच अचूक प्रक्रियेत असणे आवश्यक आहे; अन्यथा, यामुळे कंपाइल एरर येईल.

खालील कोड पहा:

5808

तुम्ही मागील उदाहरणात कोड पाहिला. जेव्हा आम्ही On Error GoTo 0 वापरले, तेव्हा एक त्रुटी आली. परंतु, येथे आम्ही ते ऑन एरर GoTo लाइन विधानाने बदलले.

आता, कोड चालवा आणि तुम्हाला खालील दिसेल:

तुम्ही बघू शकता, ते आम्हाला मानक त्रुटी डायलॉग बॉक्स दाखवत नाही. त्याऐवजी, आम्ही error_handler विभागात तयार केलेला सानुकूल संदेश बॉक्स दाखवतो. जेव्हा Excel ला कोणतीही त्रुटी आढळते, तेव्हा ते error_handler विभागात जाते आणि आम्हाला संदेश बॉक्स दाखवते.

आम्ही प्रक्रियेमध्ये Exit Sub देखील वापरले.“ VLOOKUP “ नावाचे कोणतेही शीट नसल्यास, आमचा VBA कोड सक्रिय पत्रकाचे नाव बदलेल. त्यानंतर, आम्हाला येथे अंमलबजावणी पूर्ण करावी लागेल कारण आम्हाला एरर हँडलरकडे जाण्याची आणि संदेश बॉक्स प्रदर्शित करण्याची आवश्यकता नाही.

VBA 'ऑन एरर' एक्सेलमध्ये कार्य करत नाही

कधीकधी, तुम्ही कितीही प्रयत्न केले तरीही ऑन एरर पद्धत काम करणार नाही. यापूर्वी, आम्ही त्रुटी हाताळण्यासाठी ऑन एरर पद्धत लागू केली होती. परंतु, काहीवेळा तुम्ही ऑन एरर रिझ्युम नेक्स्ट किंवा ऑन एरर GoTo 0 वापरत असलात तरीही ते त्रुटी दर्शवेल. तुमच्या कोडमध्ये अनेक कारणे असू शकतात ज्याचे तुम्हाला निराकरण करावे लागेल. मी तुम्हाला ते दाखवणार नाही.

VBA ' ऑन एरर' Excel मध्ये काम न करण्याचे मूळ कारण म्हणजे Excel मधील “ब्रेक ऑन ऑल एरर्स” पर्याय चालू करणे.<3

त्याचे निराकरण करण्यासाठी या चरणांचे अनुसरण करा:

📌 चरण

  • प्रथम, तुमच्या कीबोर्डवरील Alt+F11 दाबा VBA संपादक उघडा.
  • आता, साधने > वर क्लिक करा. पर्याय.

  • त्यानंतर, पर्याय संवादातील सामान्य टॅबवर क्लिक करा. बॉक्स.

  • येथे, तुम्ही पाहू शकता, “ सर्व त्रुटींवर खंडित करा ” आधीच चेक केलेले आहे. हे मुळात तुम्हाला त्रुटी हाताळण्यापासून प्रतिबंधित करते.
  • ते बदलण्यासाठी, “ अनहँडल एरर्स ” हा पर्याय निवडा आणि ठीक आहे वर क्लिक करा.
  • <14

    मला आशा आहे की ते एक्सेलमध्ये काम करत नसलेल्या VBA “ऑन एरर” च्या समस्येचे निराकरण करेल.

    अधिक वाचा: कारण आणि सुधारणा

ह्यू वेस्ट हे एक अत्यंत अनुभवी एक्सेल ट्रेनर आणि विश्लेषक आहेत ज्याचा उद्योगात 10 वर्षांपेक्षा जास्त अनुभव आहे. त्यांनी अकाउंटिंग आणि फायनान्समध्ये बॅचलर डिग्री आणि बिझनेस अॅडमिनिस्ट्रेशनमध्ये पदव्युत्तर पदवी घेतली आहे. ह्यूला शिकवण्याची आवड आहे आणि त्याने एक अद्वितीय शिकवण्याचा दृष्टीकोन विकसित केला आहे ज्याचे अनुसरण करणे आणि समजणे सोपे आहे. एक्सेलच्या त्यांच्या तज्ञ ज्ञानाने जगभरातील हजारो विद्यार्थ्यांना आणि व्यावसायिकांना त्यांची कौशल्ये सुधारण्यास आणि त्यांच्या करिअरमध्ये उत्कृष्ट कामगिरी करण्यास मदत केली आहे. त्याच्या ब्लॉगद्वारे, ह्यू आपले ज्ञान जगासोबत सामायिक करतो, व्यक्ती आणि व्यवसायांना त्यांच्या पूर्ण क्षमतेपर्यंत पोहोचण्यात मदत करण्यासाठी विनामूल्य एक्सेल ट्यूटोरियल आणि ऑनलाइन प्रशिक्षण ऑफर करतो.