VBA రిటర్న్ | VBA లో GoSub రిటర్న్ స్టేట్‌మెంట్ ఎలా ఉపయోగించాలి?

ఎక్సెల్ VBA రిటర్న్ స్టేట్మెంట్

VBA అద్భుతమైనది మరియు VBA కోడింగ్ లోపల మరియు వెలుపల తెలిసిన వారికి లైఫ్సేవర్, ఇది మా కార్యాలయంలో టన్నుల సమయాన్ని ఆదా చేస్తుంది. మా మునుపటి వ్యాసాలలో, మేము VBA రిటర్న్ యొక్క అనేక విషయాలు మరియు భావనలను చర్చించాము. అలాంటి ఒక భావన గోసబ్ రిటర్న్ స్టేట్మెంట్. ఈ వ్యాసంలో, ఈ భావనలను మేము మీకు పరిచయం చేస్తాము.

గోసబ్ రిటర్న్ స్టేట్మెంట్ అంటే ఏమిటి?

“గో సబ్” అనే స్టేట్మెంట్ అంటే ఇది పేరు ద్వారా లేబుల్ ద్వారా సూచించబడిన కోడ్ యొక్క పంక్తికి వెళుతుంది మరియు “రిటర్న్” స్టేట్మెంట్ కనుగొనే వరకు ఒక నిర్దిష్ట పనిని చేస్తుంది.

ఇది లోపం హ్యాండ్లర్ స్టేట్‌మెంట్ “గోటో లేబుల్” కు సమానంగా ఉంటుంది, కానీ “గోసబ్ రిటర్న్” ఏమిటంటే అది లేబుల్ పేరు నుండి కొనసాగకుండా తదుపరి కోడ్ యొక్క కోడ్‌కు తిరిగి వస్తుంది.

VBA GoSub రిటర్న్ స్టేట్మెంట్ యొక్క వాక్యనిర్మాణం క్రింద ఉంది.

 GoSub [లేబుల్ పేరు]… .. లైన్ ఆఫ్ కోడ్[లేబుల్ పేరు]:… .. విధిని నిర్వహించడానికి లైన్ లైన్

వాక్యనిర్మాణం చదవడం నుండి అర్థం చేసుకోవడం కష్టమని నాకు తెలుసు, కాని ఉదాహరణను ఉపయోగించి మీరు భావనను అర్థం చేసుకోగలుగుతారు.

నేను ఉదాహరణలకు వెళ్ళే ముందు ఈ ప్రకటన గురించి కొన్ని విషయాలు చెప్తాను.

  • GoSub స్టేట్మెంట్ vba లో సబ్‌ట్రౌటిన్‌ను పిలుస్తుంది, అదే రొటీన్ లేదా ఫంక్షన్‌లోని లేబుల్ ద్వారా పేరు పెట్టబడింది.
  • గోసబ్ మరియు రిటర్న్ రెండూ ఒకే విధానంలో ఉండాలి, మేము ఇక్కడ మరొక సబ్‌ట్రౌటిన్ మాక్రోను పిలవలేము.
  • మీరు ఎన్ని గోసబ్ రిటర్న్ స్టేట్‌మెంట్‌లను పరిచయం చేయవచ్చు.
  • రిటర్న్ స్టేట్మెంట్ ఒక లేబుల్ పేరు ద్వారా సూచించబడిన ఉపప్రాంతానికి దూకడానికి ముందే కోడ్ ఆపివేసిన చోట నుండి అమలును కొనసాగిస్తుంది.

VBA లో GoSub రిటర్న్ స్టేట్‌మెంట్ ఎలా ఉపయోగించాలి?

మీరు ఈ VBA రిటర్న్ ఎక్సెల్ మూసను ఇక్కడ డౌన్‌లోడ్ చేసుకోవచ్చు - VBA రిటర్న్ ఎక్సెల్ మూస

ఉదాహరణ # 1

ఈ స్టేట్మెంట్ యొక్క ఉపయోగాన్ని అర్థం చేసుకోవడానికి మొదట ఈ క్రింది కోడ్‌ను చూడండి, తరువాత నేను మీకు కోడ్ లైన్‌ను లైన్ ద్వారా వివరిస్తాను.

కోడ్:

 ఉప Go_Sub_ రిటర్న్ () GoSub Macro1 'లేబుల్ పేరు 1 GoSub Macro2' లేబుల్ పేరు 2 GoSub Macro3 'లేబుల్ పేరు 3 ఉప మాక్రో 1 నుండి నిష్క్రమించు: MsgBox "ఇప్పుడు నడుస్తున్న మాక్రో 1" రిటర్న్ మాక్రో 2: MsgBox "ఇప్పుడు నడుస్తున్న మాక్రో 2" రిటర్న్ మాక్రో 3: MsgBox "ఇప్పుడు నడుస్తున్న మాక్రో 3 

ఈ కోడ్‌ను అర్థం చేసుకోవడానికి F8 కీని నొక్కడం ద్వారా కోడ్ లైన్‌ను లైన్ ద్వారా అమలు చేయడానికి అనుమతిస్తుంది. మొదటిసారి ఎఫ్ 8 కీని నొక్కిన తరువాత అది స్థూల రన్నింగ్‌ను ప్రారంభిస్తుంది.

ఇప్పుడు తదుపరి పంక్తికి వెళ్ళడానికి మరోసారి F8 కీని నొక్కండి.

మాక్రో కోడ్ లైన్‌ను లైన్ ద్వారా నడుపుతుందని మనందరికీ తెలుసు, కానీ మీరు ఎఫ్ 8 కీని నొక్కితే అది తదుపరి పంక్తికి వెళ్ళదు, అది భిన్నంగా పనిచేస్తుంది.

ఇది “మాక్రో 1” అని పిలువబడే లేబుల్‌కు దూసుకెళ్లింది, దీనికి కారణం మునుపటి ప్రకటన “గోసబ్” లో మేము మాక్రోను ఉపప్రాసెచర్ లేబుల్ పేరు “మాక్రో 1” కి వెళ్ళమని ఆదేశించాము, అందుకనుగుణంగా అది సంబంధిత లేబుల్ పేరుకు దూకింది.

ఇప్పుడు F8 కీ ఎక్సెల్ మాక్రో నొక్కడం ద్వారా సందేశ పెట్టెలో ఫలితాన్ని చూపించే “మాక్రో 1” లేబుల్‌ను అమలు చేస్తుంది.

కోడింగ్ విండోకు తిరిగి రావడానికి సందేశ పెట్టె యొక్క సరేపై క్లిక్ చేయండి.

ఇప్పుడు అది “రిటర్న్” స్టేట్‌మెంట్‌ను హైలైట్ చేసింది, మీరు ఎఫ్ 8 కీని మరోసారి నొక్కితే అది ఏమి చేస్తుందో అది లేబుల్ పేరుకు దూకడానికి ముందే మునుపటి కోడ్ యొక్క కోడ్‌కు “రిటర్న్ బ్యాక్” అవుతుంది.

చివరిసారి ఇది “GoSub Macro1” కోడ్‌ను అమలు చేసింది మరియు ఇది “రిటర్న్” స్టేట్‌మెంట్‌ను పేర్కొన్నందున ఇది “మాక్రో 1” అనే లేబుల్ పేరును ప్రదర్శించింది, ఇది తదుపరి కోడ్ యొక్క తిరిగి వస్తుంది.

“గోసబ్ మాక్రో 2”

స్టేట్మెంట్ ఏమిటంటే, "మాక్రో 2 అని పిలువబడే గో-టు లేబుల్". “మాక్రో 2” లేబుల్ కోసం క్రింద, నేను ఒక నిర్దిష్ట పనిని పేర్కొన్నాను.

ఇప్పుడు మనం సందేశ పెట్టెలో విలువను చూపించే రెండవ ఉపప్రాసెసర్ పనిని పొందుతాము.

ఇప్పుడు సరేపై క్లిక్ చేస్తే అది రెండవ “రిటర్న్” స్టేట్‌మెంట్‌ను హైలైట్ చేస్తుంది.

ఇప్పుడు F8 కీని క్లిక్ చేసిన తర్వాత, అది “మాక్రో 2” లేబుల్‌కు తిరిగి రాకముందే అది తదుపరి పంక్తికి తిరిగి వస్తుంది. ఇప్పుడు అది “GoSub Macro3” ను హైలైట్ చేస్తుంది.

ఇప్పుడు అది “మాక్రో 3” లేబుల్‌కు వెళ్లి, ఎఫ్ 8 కీని నొక్కండి.

ఇప్పుడు మూడవ లేబుల్ టాస్క్ అమలు అవుతుంది.

ఇప్పుడు OK పై క్లిక్ చేయండి, ఇది “రిటర్న్” స్టేట్‌మెంట్‌ను హైలైట్ చేస్తుంది.

ఇప్పుడు మరోసారి ఎఫ్ 8 కీని నొక్కితే అది “ఎగ్జిట్ సబ్” కోడ్ రేఖకు తిరిగి వెళ్తుంది.

లేదు, ఇది సబ్‌ట్రౌటిన్ నుండి నిష్క్రమిస్తుంది. “ఎగ్జిట్ సబ్” అనే పదాన్ని జోడించడం అవసరం, లేకపోతే అది లోపం ఎదుర్కొంటుంది.

ఉదాహరణ # 2

ఇప్పుడు గోసబ్ రిటర్న్ స్టేట్‌మెంట్‌ను ఉపయోగించటానికి మరో ఉదాహరణ చూడండి.

కోడ్:

 ఉప Go_Sub_Return1 () మసకబారిన సంఖ్య = అప్లికేషన్. సబ్ డివిజన్ సబ్ డివిజన్ నుండి నిష్క్రమించినట్లయితే: MsgBox Num / 5 రిటర్న్ ఎండ్ సబ్ 

ఈ కోడ్> 10 అనే సంఖ్యను ఎంటర్ చేయమని అడుగుతుంది, సంఖ్య> 10 అయితే అది 5 ద్వారా విభజించే పనిని చేస్తుంది (లేబుల్ పేరు “డివిజన్”) లేకపోతే అది సందేశాన్ని ఇలా చూపిస్తుంది “సంఖ్య 10 కన్నా తక్కువ”.

గుర్తుంచుకోవలసిన విషయాలు

  • గోసబ్ మరియు రిటర్న్ స్టేట్‌మెంట్‌లో లేబుల్ పేరు ఒకేలా ఉండాలి మరియు రిటర్న్ స్టేట్‌మెంట్‌లో లేబుల్ పేరును పెద్దప్రేగు (:) అనుసరించాలి.
  • దోష సందేశాన్ని నివారించడానికి అన్ని రిటర్న్ స్టేట్‌మెంట్‌లు పూర్తయిన తర్వాత ఎల్లప్పుడూ VBA లో ఎగ్జిట్ సబ్‌ను ఉపయోగించండి.