VBA గ్లోబల్ వేరియబుల్స్ | VBA లో గ్లోబల్ వేరియబుల్ ఎలా ప్రకటించాలి?
కొన్ని ఫంక్షన్లు ఒక ఫంక్షన్ లోపల నిర్వచించబడతాయి మరియు ఫంక్షన్లలో ఉపయోగించబడతాయి మరియు కొన్ని వేరియబుల్స్ ఫంక్షన్ల వెలుపల నిర్వచించబడతాయి మరియు అన్ని ఫంక్షన్లచే ఉపయోగించబడతాయి మరియు అలాంటి వేరియబుల్స్ గ్లోబల్ వేరియబుల్స్ గా ఉపయోగించబడతాయి, ఉదాహరణకు, సబ్-ఫంక్షన్ కింద ప్రకటించిన వేరియబుల్స్ గ్లోబల్ వేరియబుల్స్ అని పిలుస్తారు.
ఎక్సెల్ VBA లో గ్లోబల్ వేరియబుల్
వేరియబుల్ ప్రకటించడం చాలా సులభం అనిపిస్తుంది కాని వాటిపై మంచి చేతులు ఉండాలంటే మనం ఆ వేరియబుల్స్ యొక్క పరిధిని అర్థం చేసుకోవాలి. తరచుగా మేము ప్రతిసారీ ఉప విధానం లోపల ప్రతి స్థూల కోసం వేరియబుల్స్ ప్రకటిస్తాము. కానీ ఒక వేరియబుల్ డిక్లేర్ చేయడం ద్వారా మనం ఒకే మాడ్యూల్ లోని అన్ని మాక్రోలలో మరియు ప్రస్తుత VBA ప్రాజెక్ట్ యొక్క ఇతర మాడ్యూళ్ళలో ఉపయోగించవచ్చు. ఈ వ్యాసంలో, ఎక్సెల్ VBA లో గ్లోబల్ వేరియబుల్స్ ను ఎలా ప్రకటించాలో మేము మీకు చూపుతాము.
ఎక్సెల్ VBA లో గ్లోబల్ వేరియబుల్స్ అంటే ఏమిటి?
VBA గ్లోబల్ వేరియబుల్స్ వేరియబుల్స్, ఇవి మాడ్యూల్లో ఏదైనా స్థూల ప్రారంభానికి ముందు ప్రకటించబడతాయి. “పబ్లిక్” లేదా “గ్లోబల్” ఉపయోగించి వేరియబుల్స్ డిక్లేర్ అయినప్పుడు అది “గ్లోబల్ వేరియబుల్” అవుతుంది.
సబ్ ప్రొసీజర్ వేరియబుల్స్ ఎక్కడా ఉపయోగించలేవు
మేము సాధారణంగా “డిమ్” అనే పదాన్ని ఉపయోగించి vba లోని సబ్ట్రౌటిన్ లోపల వేరియబుల్ను ప్రకటిస్తాము.
పై చిత్రాన్ని చూడండి నేను గ్లోబల్_ఎక్సాంపుల్ 1 అనే ఉప ప్రక్రియలో వేరియబుల్ “k” ను పూర్ణాంకంగా ప్రకటించాను.
మేము ఏ సమయంలోనైనా ఈ సబ్ విధానం లోపల ఈ వేరియబుల్ ఉపయోగిస్తే. అయినప్పటికీ, నేను ఈ వేరియబుల్ను మరొక ఉప విధానంలో VBA లోని ఒకే క్లాస్ మాడ్యూల్లో లేదా మరొక మాడ్యూల్లో ఉపయోగించలేను.
పై చిత్రంలో చూపిన విధంగా గ్లోబల్_ఎక్సాంపుల్ 1 అనే ఉపప్రాంతంలో ప్రకటించిన వేరియబుల్ “k” ఉప విధానం గ్లోబల్_ఎక్సాంపుల్ 2 లో ఉపయోగించబడదు.
అదేవిధంగా, ఉపప్రాసెచర్ గ్లోబల్_ఎక్సాంపుల్ 2 లో ప్రకటించిన వేరియబుల్ “j” ఉప విధానం గ్లోబల్_ఎక్సాంపుల్ 1 లో ఉపయోగించబడదు.
VBA లో గ్లోబల్ వేరియబుల్ ఎలా ప్రకటించాలి?
ఎక్సెల్ VBA లో గ్లోబల్ వేరియబుల్ ప్రకటించే మార్గాలు క్రిందివి.
# 1 - మాడ్యూల్ వేరియబుల్స్ అదే మాడ్యూల్లోని ఏదైనా ఉప విధానంలో ఉపయోగించవచ్చు
మేము చూసినట్లుగా, మేము మాడ్యూళ్ళలో సబ్ ప్రొసీజర్ వేరియబుల్స్ ఉపయోగించలేము. ఒకే మాడ్యూల్లోని అన్ని సబ్ విధానాలకు వాటిని అందుబాటులో ఉంచడానికి, మాడ్యూల్ ఎగువన ఉన్న వేరియబుల్స్ని డిక్లేర్ చేయాలి.
పై చిత్రంలో, నేను మాడ్యూల్ ప్రారంభంలో మాత్రమే వేరియబుల్ ప్రకటించాను. నేను వేరియబుల్ “మై నంబర్” ని పూర్ణాంకంగా ప్రకటించాను మాడ్యూల్ 1.
మాడ్యూల్ ఎగువన ప్రకటించిన వేరియబుల్ ఒకే మాడ్యూల్లోని అన్ని ఇతర ఉప విధానాలకు ఒకే వేరియబుల్ని ఉపయోగించవచ్చు, ఈ సందర్భంలో, మేము అన్ని ఉప విధానాలకు వేరియబుల్ “మై నంబర్” ను ఉపయోగించవచ్చు. మాడ్యూల్ 1.
సమస్య ఏమిటంటే మనం వాటిని ఇతర మాడ్యూళ్ళలో ఉపయోగించలేము. ఈ సందర్భంలో, వేరియబుల్ “MyNumber” లో ప్రకటించబడింది మాడ్యూల్ 1 లో ఉపయోగించబడదు మాడ్యూల్ 2.
# 2 - గ్లోబల్ వేరియబుల్స్ ఏదైనా సబ్ ప్రొసీజర్లో మరియు ఏ మాడ్యూల్లోనైనా ఉపయోగించవచ్చు
ఇప్పుడు మనం రెండు రకాల వేరియబుల్ డిక్లరేషన్ మరియు ఉపయోగిస్తున్నప్పుడు వాటి పరిధిని చూశాము. ఆసక్తికరమైన విషయం ఏమిటంటే, మనము ఏదైనా మాడ్యూళ్ళలో వేరియబుల్ ను డిక్లేర్ చేయవచ్చు మరియు ఒకే VBA ప్రాజెక్ట్ యొక్క అన్ని మాడ్యూళ్ళలో అన్ని సబ్ ప్రొసీజర్స్ కొరకు వాడవచ్చు.
అన్ని మాడ్యూళ్ళలో అన్ని ఉప విధానాలకు వేరియబుల్ అందుబాటులో ఉండటానికి, మాడ్యూల్ పైభాగంలో వేరియబుల్ ను "డిమ్" అనే పదాన్ని ఉపయోగించడం ద్వారా కాకుండా "పబ్లిక్" లేదా "గ్లోబల్" అనే పదాన్ని ఉపయోగించడం ద్వారా ప్రకటించాలి.
పై చిత్రంలో, నేను ఈ పదాన్ని ఉపయోగించానని మీరు చూడవచ్చు "ప్రజా" మా అనుభవజ్ఞుడైన పదానికి బదులుగా వేరియబుల్ ప్రకటించడానికి “డిమ్”.
పై స్క్రీన్ షాట్ లో, నేను వేరియబుల్ ను డిక్లేర్ చేసాను మాడ్యూల్ 1. నాకు మరో రెండు మాడ్యూల్స్ ఉన్నాయి మాడ్యూల్ 2 & మాడ్యూల్ 3.
మాడ్యూల్ పైభాగంలో “పబ్లిక్” అనే పదాన్ని ఉపయోగించడం ద్వారా నేను వేరియబుల్ను ప్రకటించాను కాబట్టి, ఇప్పుడు నేను ఈ వేరియబుల్స్ను ఏ వర్క్బుక్లోని ఏదైనా మాడ్యూల్లో ఏదైనా ఉప విధానంలో యాక్సెస్ చేయవచ్చు.
“పబ్లిక్” మాత్రమే కాదు, వేరియబుల్ డిక్లేర్ చేయడానికి “గ్లోబల్” అనే పదాన్ని కూడా ఉపయోగించవచ్చు.
గ్లోబల్ & పబ్లిక్ వేరియబుల్ను ప్రకటించడానికి మరియు వాటిని VBA లోని మాడ్యూళ్ళలో అందుబాటులో ఉంచడానికి రెండు కీలకపదాలు.
గుర్తుంచుకోవలసిన విషయాలు
- ఎక్సెల్ మాక్రో వేరియబుల్ యొక్క గ్లోబల్ వేరియబుల్ విలువతో నడుస్తున్న తర్వాత అన్ని ఉప విధానాలలో సమానంగా ఉంటుంది.
- VBA లో గ్లోబల్ వేరియబుల్స్ ప్రకటించడానికి మరియు ఒక మాడ్యూల్లో అన్ని వేరియబుల్స్ కలిగి ఉండటానికి ఒక నిర్దిష్ట మాడ్యూల్ను నిర్వహించడం మంచిది.
- స్టాప్ బటన్ను నొక్కడం ద్వారా స్థూల కోడ్ను రీసెట్ చేయడం ద్వారా వేరియబుల్ విలువను రీసెట్ చేయగల ఏకైక మార్గం.