ఎక్సెల్ మాక్రోస్‌లో వేరియబుల్స్ మరియు స్థిరాంకాలను అర్థం చేసుకోవడం

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

ఇతర ప్రోగ్రామింగ్ భాషల వలె, డేటాను వేరియబుల్స్ లేదా స్థిరాంకాలలో నిల్వ చేయవచ్చు (వీటిని తరచుగా డేటా కంటైనర్‌లుగా కూడా సూచిస్తారు). ఈ భావనల మధ్య ప్రధాన వ్యత్యాసం ఇది. ప్రోగ్రామ్‌లో ఏమి జరుగుతుందో దానిపై ఆధారపడి మునుపటిది మారవచ్చు. ప్రతిగా, స్థిరాంకాలు ఒకసారి సెట్ చేయబడతాయి మరియు వాటి విలువను మార్చవు.

మీరు ఒకే పెద్ద విలువను అనేకసార్లు ఉపయోగించాల్సిన అవసరం ఉన్నట్లయితే స్థిరాంకాలు ఉపయోగకరంగా ఉంటాయి. సంఖ్యను కాపీ చేయడానికి బదులుగా, మీరు స్థిరమైన పేరును వ్రాయవచ్చు. ఉదాహరణకు, మీరు పై నిల్వ చేయడానికి స్థిరమైన "Pi"ని ఉపయోగించవచ్చు, ఇది స్థిరమైన విలువ. ఇది చాలా పెద్దది మరియు ప్రతిసారీ దీన్ని వ్రాయడం లేదా శోధించడం మరియు కాపీ చేయడం చాలా కష్టం. కాబట్టి, రెండు అక్షరాలను వ్రాయడం సరిపోతుంది మరియు పర్యావరణం స్వయంచాలకంగా కావలసిన సంఖ్యను ఉపయోగిస్తుంది.

Excel వినియోగదారు వేరియబుల్స్‌లో నిల్వ చేయబడిన విలువను ఎప్పటికప్పుడు మార్చవలసి వస్తే వాటిని డిక్లేర్ చేయాల్సి ఉంటుంది. ఉదాహరణకు, మీరు sVAT_Rate అనే వేరియబుల్‌ని సెట్ చేయవచ్చు, ఇది ఉత్పత్తి కోసం ప్రస్తుత VAT రేటును నిల్వ చేస్తుంది. అది మారితే, మీరు దాన్ని త్వరగా సరిచేయవచ్చు. యునైటెడ్ స్టేట్స్‌లో వ్యాపారం చేసే వారికి ఇది ప్రత్యేకంగా ఉపయోగపడుతుంది, ఇక్కడ కొన్ని వస్తువులు VATకి లోబడి ఉండకపోవచ్చు (మరియు ఈ పన్ను కూడా రాష్ట్రానికి రాష్ట్రానికి భిన్నంగా ఉంటుంది).

డేటా రకాలు

ప్రతి డేటా కంటైనర్ అనేక రకాల్లో ఒకటి కావచ్చు. ప్రాసెస్ చేయబడిన సమాచారం యొక్క ప్రామాణిక రకాలను వివరించే పట్టిక ఇక్కడ ఉంది. వాటిలో చాలా ఉన్నాయి, మరియు వారు ఒకరినొకరు పునరావృతం చేసినట్లు ప్రారంభంలో ఒక అనుభవశూన్యుడు అనిపించవచ్చు. కానీ ఇది ఒక భ్రమ కలిగించే అనుభూతి. సరైన డేటా రకాన్ని పేర్కొనడం ఎందుకు చాలా ముఖ్యమైనదో తెలుసుకోవడానికి చదవండి.

చిన్న సంఖ్యల కోసం మెమరీలో ఎక్కువ స్థలాన్ని తీసుకునే డేటా రకాన్ని ఉపయోగించడం సిఫార్సు చేయబడలేదు. ఉదాహరణకు, సంఖ్య 1 కోసం, బైట్ రకాన్ని ఉపయోగించడం సరిపోతుంది. ఇది ఎక్జిక్యూటబుల్ మాడ్యూల్ పనితీరుపై సానుకూల ప్రభావాన్ని చూపుతుంది, ముఖ్యంగా బలహీనమైన కంప్యూటర్లలో. కానీ ఇక్కడ చాలా దూరం వెళ్లకుండా ఉండటం ముఖ్యం. మీరు చాలా కాంపాక్ట్‌గా ఉండే డేటా రకాన్ని ఉపయోగిస్తే, భారీ విలువ దానికి సరిపోకపోవచ్చు.

స్థిరాంకాలు మరియు వేరియబుల్స్ ప్రకటించడం

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

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

డిమ్ వేరియబుల్_పేరు పూర్ణాంకం వలె

వేరియబుల్_నేమ్ అనేది వేరియబుల్ పేరు. తరువాత, ఆస్ ఆపరేటర్ వ్రాయబడింది, ఇది డేటా రకాన్ని సూచిస్తుంది. "Variable_Name" మరియు "Integer" స్ట్రింగ్‌లకు బదులుగా, మీరు మీ స్వంత పేరు మరియు డేటా రకాన్ని చేర్చవచ్చు.

స్థిరాంకాలు కూడా ప్రకటించబడతాయి, అయితే మీరు ముందుగా వాటి విలువను పేర్కొనాలి. ఎంపికలలో ఒకటి:

కాన్స్ట్ iMaxCount = 5000

న్యాయంగా, కొన్ని సందర్భాల్లో మీరు వేరియబుల్‌ను ప్రకటించకుండానే చేయవచ్చు, కానీ ఈ సందర్భంలో అవి స్వయంచాలకంగా వేరియంట్ రకం కేటాయించబడతాయి. అయితే, కింది కారణాల వల్ల ఇది సిఫార్సు చేయబడదు:

  1. వేరియంట్ చాలా నెమ్మదిగా ప్రాసెస్ చేయబడుతుంది మరియు అటువంటి అనేక వేరియబుల్స్ ఉంటే, బలహీనమైన కంప్యూటర్లలో సమాచార ప్రాసెసింగ్ గణనీయంగా నెమ్మదించబడుతుంది. ఆ సెకన్లు నిర్ణయిస్తాయని అనిపిస్తుంది? కానీ మీరు పెద్ద సంఖ్యలో కోడ్ లైన్లను వ్రాసి, బలహీనమైన కంప్యూటర్లలో (ఇప్పటికీ విక్రయించబడుతున్నాయి, ఆధునిక ఆఫీస్ సూట్లకు చాలా RAM అవసరం కనుక) అమలు చేయవలసి వస్తే, మీరు పనిని పూర్తిగా నిలిపివేయవచ్చు. మాక్రోలను తప్పుగా రాయడం వల్ల తక్కువ మొత్తంలో RAM ఉన్న స్మార్ట్‌బుక్‌లు స్తంభింపజేయడానికి దారితీసిన సందర్భాలు ఉన్నాయి మరియు క్లిష్టమైన పనులు చేయడానికి రూపొందించబడలేదు. 
  2. పేర్లలో తప్పుడు ముద్రణలు అనుమతించబడతాయి, ఇది ఎంపిక స్పష్టమైన ప్రకటనను ఉపయోగించడం ద్వారా నిరోధించబడుతుంది, ఇది గుర్తించబడని వేరియబుల్‌ను కనుగొనడానికి మిమ్మల్ని అనుమతిస్తుంది. లోపాలను గుర్తించడానికి ఇది సులభమైన మార్గం, ఎందుకంటే చిన్న అక్షర దోషం వ్యాఖ్యాత వేరియబుల్‌ను గుర్తించలేకపోతుంది. మరియు మీరు వేరియబుల్ డిక్లరేషన్ మోడ్‌ను ఆన్ చేస్తే, మాడ్యూల్ ప్రారంభంలో ప్రకటించబడని డేటా కంటైనర్‌లు కనుగొనబడితే, వ్యాఖ్యాత మిమ్మల్ని మాక్రోను అమలు చేయడానికి అనుమతించదు.
  3. డేటా రకానికి సరిపోలని వేరియబుల్ విలువల వల్ల ఏర్పడే లోపాలను నివారించండి. సాధారణంగా, పూర్ణాంక వేరియబుల్‌కు టెక్స్ట్ విలువను కేటాయించడం వలన లోపం ఏర్పడుతుంది. అవును, ఒక వైపు, ఒక సాధారణ రకం డిక్లరేషన్ లేకుండా కేటాయించబడుతుంది, కానీ అవి ముందుగానే ప్రకటించబడితే, అప్పుడు యాదృచ్ఛిక లోపాలను నివారించవచ్చు.

అందువల్ల, ప్రతిదీ ఉన్నప్పటికీ, Excel మాక్రోస్‌లో అన్ని వేరియబుల్స్‌ను ప్రకటించాలని సిఫార్సు చేయబడింది.

వేరియబుల్స్ డిక్లేర్ చేసేటప్పుడు గుర్తుంచుకోవలసిన మరో విషయం ఉంది. వేరియబుల్‌ను ప్రకటించేటప్పుడు దానికి ఎటువంటి విలువలను కేటాయించకపోవడం సాధ్యమవుతుంది, అయితే ఈ సందర్భంలో అది డిఫాల్ట్ విలువను పొందుతుంది. ఉదాహరణకి:

  1. లైన్లు ఖాళీ చేయబడ్డాయి.
  2. సంఖ్యలు 0 విలువను తీసుకుంటాయి.
  3. బూలియన్ రకం వేరియబుల్స్ మొదట తప్పుగా పరిగణించబడతాయి.
  4. డిఫాల్ట్ తేదీ డిసెంబర్ 30, 1899.

ఉదాహరణకు, మునుపు ఏ విలువను పేర్కొనకపోతే మీరు పూర్ణాంకాల వేరియబుల్‌కు 0 విలువను కేటాయించాల్సిన అవసరం లేదు. ఆమె ఇప్పటికే ఈ నంబర్‌ని కలిగి ఉంది.

ఎంపిక స్పష్టమైన ప్రకటన

ఈ ప్రకటన VBA కోడ్‌లో ఉపయోగించిన అన్ని వేరియబుల్స్‌ను ప్రకటించడానికి మరియు కోడ్ అమలు చేయడానికి ముందు ఏదైనా ప్రకటించని కంటైనర్‌ల ఉనికిని నిర్ధారించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఈ లక్షణాన్ని ఉపయోగించడానికి, స్థూల కోడ్ పైభాగంలో ఆప్షన్ స్పష్టమైన కోడ్ యొక్క పంక్తిని వ్రాయండి.

మీరు ప్రతిసారీ ఈ స్టేట్‌మెంట్‌ను మీ కోడ్‌లో చేర్చాలనుకుంటే, మీరు VBA ఎడిటర్‌లో ప్రత్యేక సెట్టింగ్‌ని ఉపయోగించి అలా చేయవచ్చు. ఈ ఎంపికను ప్రారంభించడానికి, మీరు తప్పక:

  1. మార్గంలో అభివృద్ధి వాతావరణానికి వెళ్లండి - సాధనాలు > ఎంపికలు.
  2. దీని తర్వాత తెరుచుకునే విండోలో, ఎడిటర్ ట్యాబ్‌ను తెరవండి.
  3. చివరగా, అవసరం వేరియబుల్ డిక్లరేషన్ అంశం పక్కన ఉన్న పెట్టెను ఎంచుకోండి.

ఈ దశలను పూర్తి చేసిన తర్వాత, "సరే" బటన్‌పై క్లిక్ చేయండి. 

అంతే, ఇప్పుడు ప్రతి కొత్త మాక్రోను వ్రాసేటప్పుడు, ఈ లైన్ స్వయంచాలకంగా కోడ్ ఎగువన చొప్పించబడుతుంది.

స్థిరాంకాలు మరియు వేరియబుల్స్ యొక్క పరిధి

ప్రతి వేరియబుల్ లేదా స్థిరాంకం పరిమిత పరిధిని మాత్రమే కలిగి ఉంటుంది. ఇది మీరు ఎక్కడ ప్రకటిస్తారనే దానిపై ఆధారపడి ఉంటుంది.

మనకు ఒక ఫంక్షన్ ఉందని అనుకుందాం మొత్తం_ఖర్చు(), మరియు ఇది వేరియబుల్‌ని ఉపయోగిస్తుంది sVAT_రేట్. మాడ్యూల్‌లోని స్థానం ఆధారంగా, ఇది వేరే పరిధిని కలిగి ఉంటుంది:

ఎంపిక స్పష్టమైనది

మసక sVAT_రేట్ సింగిల్ గా

ఫంక్షన్ మొత్తం_ఖర్చు() రెట్టింపు

.

.

.

ఎండ్ ఫంక్షన్

ఒక వేరియబుల్ మాడ్యూల్ పైభాగంలో ప్రకటించబడితే, అది ఆ మాడ్యూల్ అంతటా వ్యాపిస్తుంది. అంటే, ఇది ప్రతి విధానం ద్వారా చదవబడుతుంది.

అంతేకాకుండా, విధానాలలో ఒకటి వేరియబుల్ విలువను మార్చినట్లయితే, తదుపరిది కూడా ఈ సరిదిద్దబడిన విలువను చదువుతుంది. కానీ ఇతర మాడ్యూళ్లలో ఈ వేరియబుల్ ఇప్పటికీ చదవబడదు.

ఎంపిక స్పష్టమైనది

ఫంక్షన్ మొత్తం_ఖర్చు() రెట్టింపు

మసక sVAT_రేట్ సింగిల్ గా

   .

   .

   .

ఎండ్ ఫంక్షన్

ఈ సందర్భంలో, వేరియబుల్ ప్రక్రియ లోపల ప్రకటించబడుతుంది మరియు మరొక విధానంలో ఉపయోగించినట్లయితే వ్యాఖ్యాత లోపాన్ని విసురుతారు.

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

మీరు స్థిరాంకాల పరిధిని ఇదే విధంగా సెట్ చేయవచ్చు, కానీ ఇక్కడ కీవర్డ్ కాన్స్ట్ ఆపరేటర్‌తో కలిసి వ్రాయబడింది.

ఇది స్థిరాంకాలు మరియు వేరియబుల్స్‌తో ఎలా పనిచేస్తుందనేదానికి మంచి ఉదాహరణతో కూడిన పట్టిక ఇక్కడ ఉంది.

ఎంపిక స్పష్టమైనది

పబ్లిక్ sVAT_రేట్ సింగిల్‌గా

పబ్లిక్ కాన్స్ట్ iMax_Count = 5000

ఈ ఉదాహరణలో, వేరియబుల్‌ని ప్రకటించడానికి పబ్లిక్ కీవర్డ్ ఎలా ఉపయోగించబడుతుందో మీరు చూడవచ్చు మరియు పబ్లిక్ స్థిరాంకం ప్రకటించడానికి మీరు విజువల్ బేసిక్ ఎడిటర్‌లో ఏమి వ్రాయాలి. ఈ విలువ కంటైనర్‌ల పరిధి అన్ని మాడ్యూల్‌లకు వర్తిస్తుంది.
ఎంపిక స్పష్టమైనది

ప్రైవేట్ sVAT_రేట్ సింగిల్‌గా

ప్రైవేట్ కాన్స్ట్ iMax_Count = 5000

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

స్థిరాంకాలు మరియు వేరియబుల్స్ ఎందుకు అవసరం

స్థిరాంకాలు మరియు వేరియబుల్స్ యొక్క ఉపయోగం కోడ్ యొక్క అవగాహన స్థాయిని పెంచడానికి మిమ్మల్ని అనుమతిస్తుంది. మరియు సాధారణంగా ప్రారంభకులకు వేరియబుల్స్ ఎందుకు అవసరమో ప్రశ్నలు లేకుంటే, స్థిరాంకాల అవసరానికి సంబంధించి అనేక అస్పష్టతలు ఉన్నాయి. మరియు ఈ ప్రశ్న మొదటి చూపులో చాలా తార్కికంగా అనిపిస్తుంది. అన్నింటికంటే, మీరు వేరియబుల్‌ను ఒకసారి ప్రకటించవచ్చు మరియు దాన్ని మళ్లీ మార్చకూడదు.

మెమరీలో పెద్ద స్థలాన్ని ఆక్రమించే డేటా రకాల వినియోగానికి సంబంధించి సమాధానం అదే విమానంలో ఎక్కడో ఉంటుంది. మేము భారీ సంఖ్యలో వేరియబుల్స్‌తో వ్యవహరిస్తున్నట్లయితే, మేము ఇప్పటికే ఉన్న కంటైనర్‌ను అనుకోకుండా మార్చవచ్చు. నిర్దిష్ట విలువ ఎప్పటికీ మారదని వినియోగదారు సూచించినట్లయితే, పర్యావరణం దీన్ని స్వయంచాలకంగా నియంత్రిస్తుంది.

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

లేదా, ఒక పేరుతో స్థిరాంకం ఉంటే మరియు వేరియబుల్ వేరే, కానీ సారూప్యమైన పేరును కలిగి ఉంటే. డెవలపర్ వాటిని గందరగోళానికి గురి చేయవచ్చు. ఉదాహరణకు, మార్చవలసిన అవసరం లేని ఒక వేరియబుల్‌ను వేరియబుల్ 11 అని పిలుస్తారు మరియు మరొకటి సవరించగలిగే వేరియబుల్ 1 అని పిలుస్తారు. ఒక వ్యక్తి స్వయంచాలకంగా, కోడ్ వ్రాసేటప్పుడు, అనుకోకుండా అదనపు యూనిట్‌ను దాటవేయవచ్చు మరియు దానిని గమనించలేరు. ఫలితంగా, విలువల కోసం కంటైనర్ మార్చబడుతుంది, దానిని తాకకూడదు.

లేదా డెవలపర్ తాను ఏ వేరియబుల్స్‌ను తాకవచ్చు మరియు ఏది చేయకూడదు అనే విషయాన్ని మరచిపోవచ్చు. కోడ్ చాలా వారాల పాటు వ్రాయబడినప్పుడు ఇది తరచుగా జరుగుతుంది మరియు దాని పరిమాణం పెద్దదిగా మారుతుంది. ఈ సమయంలో, ఈ లేదా ఆ వేరియబుల్ అంటే ఏమిటో కూడా మర్చిపోవడం చాలా సులభం.

అవును, మీరు ఈ పరిస్థితిలో వ్యాఖ్యలతో చేయవచ్చు, కానీ కాన్స్ట్ అనే పదాన్ని పేర్కొనడం సులభం కాదా?

తీర్మానాలు

స్థూల ప్రోగ్రామింగ్‌లో వేరియబుల్స్ ఒక ముఖ్యమైన భాగం, ఇది గణనల నుండి నిర్దిష్ట సంఘటనల గురించి వినియోగదారుకు తెలియజేయడం లేదా స్ప్రెడ్‌షీట్ సెల్‌లలో నిర్దిష్ట విలువలను పేర్కొనడం వరకు సంక్లిష్టమైన కార్యకలాపాలను నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది.

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

సమాధానం ఇవ్వూ