విషయ సూచిక
మేము వినియోగదారు నిర్వచించిన ఫంక్షన్ల గురించి ట్యుటోరియల్ల శ్రేణిని కొనసాగిస్తున్నాము. మా మునుపటి కథనాలలో, మేము కస్టమ్ ఫంక్షన్లతో పరిచయం పొందాము మరియు వాటిని ఎలా సృష్టించాలో మరియు ఎలా ఉపయోగించాలో నేర్చుకున్నాము. ఈ మాన్యువల్లో మేము ఈ ఫంక్షన్లను ఉపయోగించడం యొక్క ప్రత్యేకతలను పరిశీలిస్తాము మరియు UDFలు మరియు VBA మాక్రోల మధ్య తేడాలను చూస్తాము.
ఈ ట్యుటోరియల్లో, మేము ఈ క్రింది వాటిని నేర్చుకుంటాము:
ఈ కథనం UDFపై మీ పరిజ్ఞానాన్ని పెంపొందిస్తుందని మరియు మీ Excel వర్క్బుక్లలో వాటిని మరింత ప్రభావవంతంగా ఉపయోగించడంలో మీకు సహాయపడుతుందని మేము ఆశిస్తున్నాము.
UDF మరియు Macro ఒకటేనా?
యూజర్ నిర్వచించిన విధులు మరియు VBA రెండూ మాక్రోలు VBA ఎడిటర్ ఉపయోగించి సృష్టించబడతాయి. వాటి మధ్య తేడా ఏమిటి మరియు దేనికి ప్రాధాన్యత ఇవ్వాలి?
అత్యంత ముఖ్యమైన తేడా ఏమిటంటే ఫంక్షన్ గణనను నిర్వహిస్తుంది మరియు స్థూల కొంత చర్యను చేస్తుంది. సాధారణ Excel ఫంక్షన్ వంటి వినియోగదారు నిర్వచించిన ఫంక్షన్ తప్పనిసరిగా సెల్లో వ్రాయబడాలి. దాని అమలు ఫలితంగా, సెల్ కొంత విలువను అందిస్తుంది. అదే సమయంలో, ఇతర కణాల విలువలను, అలాగే ప్రస్తుత సెల్ యొక్క కొన్ని లక్షణాలను (ముఖ్యంగా, ఫార్మాటింగ్) మార్చడం అసాధ్యం. అయితే, మీరు షరతులతో కూడిన ఫార్మాటింగ్ సూత్రాలలో అనుకూల ఫంక్షన్ని ఉపయోగించవచ్చు.
UDF మరియు VBA మాక్రో వివిధ మార్గాల్లో పని చేస్తాయి. ఉదాహరణకు, మీరు విజువల్ బేసిక్ ఎడిటర్లో UDFని సృష్టించినప్పుడు, మీరు ఫంక్షన్ అనే స్టేట్మెంట్తో ప్రారంభించి, ఎండ్ ఫంక్షన్ తో ముగుస్తుంది. మీరు మాక్రోను రికార్డ్ చేసినప్పుడు, మీరు aతో ప్రారంభించండిప్రకటన ఉప మరియు ఎండ్ సబ్తో ముగుస్తుంది.
అన్ని విజువల్ బేసిక్ ఆపరేటర్లు UDFలను సృష్టించడానికి ఉపయోగించబడవు. ఈ కారణంగా, స్థూల అనేది మరింత బహుముఖ పరిష్కారం.
ఒక స్థూల వినియోగదారు నిర్వచించిన ఫంక్షన్లా కాకుండా, వినియోగదారు ఎలాంటి వాదనలను పాస్ చేయాల్సిన అవసరం లేదు (లేదా అది ఏ ఆర్గ్యుమెంట్లను ఆమోదించదు).
విషయం ఏమిటంటే, మాక్రోల యొక్క కొన్ని ఆదేశాలు సెల్ చిరునామాలు లేదా ఫార్మాటింగ్ ఎలిమెంట్లను ఉపయోగించగలవు (ఉదాహరణకు, రంగు). మీరు సెల్లను తరలించినట్లయితే, అడ్డు వరుసలు మరియు నిలువు వరుసలను జోడించి లేదా తీసివేసి, సెల్ల ఆకృతిని మార్చినట్లయితే, మీరు మీ మాక్రోలను సులభంగా "బ్రేక్" చేయవచ్చు. మీరు మీ మ్యాక్రోలు ఎలా పని చేస్తారో తెలియని సహోద్యోగులతో మీ ఫైల్ను భాగస్వామ్యం చేస్తే ఇది ప్రత్యేకంగా సాధ్యమవుతుంది.
ఉదాహరణకు, మీరు ఖచ్చితంగా పని చేసే మాక్రోతో ఫైల్ని కలిగి ఉన్నారు. ఈ ఫార్ములా సెల్ A1 నుండి A4 శాతాన్ని గణిస్తుంది. మాక్రో ఈ కణాల రంగును పసుపు రంగులోకి మారుస్తుంది. సక్రియ సెల్లో శాతం ఫార్మాట్ సెట్ చేయబడింది.
మీరు లేదా మరొకరు కొత్త అడ్డు వరుసను చొప్పించాలని నిర్ణయించుకుంటే, మాక్రో A4 సెల్లోని విలువ కోసం వెతకడం కొనసాగిస్తుంది ( మీ UDFలోని 4,1 పరామితి), విఫలమై, లోపాన్ని అందించండి:
ఈ సందర్భంలో, సున్నాతో భాగించడం వల్ల లోపం సంభవించింది (కొత్తగా జోడించిన వాటిలో విలువ లేదు వరుస). స్థూల పనితీరు ఉంటే, సమ్మషన్ అనుకుందాం, అప్పుడు మీరు తప్పు ఫలితాన్ని పొందుతారు. కానీ మీకు దాని గురించి తెలియదు.
మాక్రోలకు విరుద్ధంగా, వినియోగదారు నిర్వచించిన విధులు అటువంటి అసహ్యకరమైన పరిస్థితిని కలిగించవు.
క్రింద మీరు పనితీరును చూస్తారుUDFని ఉపయోగించి అదే లెక్కలు. ఇక్కడ మీరు వర్క్షీట్లో ఎక్కడైనా ఇన్పుట్ సెల్లను పేర్కొనవచ్చు మరియు దానిని మార్చినప్పుడు మీరు ఊహించని సమస్యలను ఎదుర్కోలేరు.
నేను C3లో క్రింది సూత్రాన్ని వ్రాసాను:
=UDF_vs_Macro(A1,A4)
తర్వాత నేను ఖాళీ అడ్డు వరుసను చొప్పించాను మరియు మీరు పై స్క్రీన్షాట్లో చూడగలిగే విధంగా ఫార్ములా మార్చబడింది.
ఇప్పుడు మనం ఇన్పుట్ సెల్ లేదా సెల్ని ఫంక్షన్తో ఎక్కడికైనా తరలించవచ్చు. ఫలితం ఎల్లప్పుడూ సరైనదే.
UDFలను ఉపయోగించడం వల్ల కలిగే అదనపు ప్రయోజనం ఏమిటంటే, ఇన్పుట్ సెల్లో విలువ మారినప్పుడు అవి స్వయంచాలకంగా నవీకరించబడతాయి. మాక్రోలను ఉపయోగిస్తున్నప్పుడు, మీరు ఎల్లప్పుడూ మొత్తం డేటా తాజాగా ఉందని నిర్ధారించుకోవాలి.
ఈ ఉదాహరణను దృష్టిలో ఉంచుకుని, నేను సాధ్యమైన చోట UDFలను ఉపయోగించాలనుకుంటున్నాను మరియు ఇతర నాన్-కాలిక్యులేషన్ కార్యకలాపాల కోసం మాత్రమే మాక్రోలను ఉపయోగించాలనుకుంటున్నాను.
UDFని ఉపయోగించడం యొక్క పరిమితులు మరియు అప్రయోజనాలు
నేను ఇప్పటికే పైన UDF యొక్క ప్రయోజనాలను ప్రస్తావించాను. సుదీర్ఘ కథనం, ఇది ప్రామాణిక Excel ఫంక్షన్లతో సాధ్యం కాని గణనలను చేయగలదు. అదనంగా, ఇది పొడవైన మరియు సంక్లిష్టమైన సూత్రాలను సేవ్ చేయవచ్చు మరియు ఉపయోగించవచ్చు, వాటిని ఒకే ఫంక్షన్గా మారుస్తుంది. మరియు మీరు సంక్లిష్టమైన సూత్రాలను పదే పదే వ్రాయవలసిన అవసరం లేదు.
ఇప్పుడు UDF యొక్క లోపాల గురించి మరింత వివరంగా మాట్లాడుదాం:
- UDFలను సృష్టించడానికి VBAని ఉపయోగించడం అవసరం. దాని చుట్టూ మార్గం లేదు. దీని అర్థం వినియోగదారు UDFని Excel మాక్రో వలె రికార్డ్ చేయలేరు. యుడిఎఫ్ని మీరే సృష్టించుకోవాలి. అయితే, మీరు కాపీ చేయవచ్చు మరియుమునుపు రికార్డ్ చేసిన మాక్రో కోడ్ యొక్క భాగాలను మీ ఫంక్షన్లో అతికించండి. మీరు కస్టమ్ ఫంక్షన్ల పరిమితుల గురించి తెలుసుకోవాలి.
- UDF యొక్క మరొక లోపం ఏమిటంటే, ఏదైనా ఇతర Excel ఫంక్షన్ లాగానే ఇది సెల్లోకి ఒకే విలువ లేదా విలువల శ్రేణిని మాత్రమే తిరిగి ఇవ్వగలదు. ఇది కేవలం గణనలను నిర్వహిస్తుంది, మరేమీ లేదు.
- మీరు మీ వర్క్బుక్ను మీ సహోద్యోగులతో పంచుకోవాలనుకుంటే, మీ UDFలను అదే ఫైల్లో సేవ్ చేయాలని నిర్ధారించుకోండి. లేకపోతే, మీ అనుకూల ఫంక్షన్లు వాటికి పని చేయవు.
- VBA ఎడిటర్తో సృష్టించబడిన అనుకూల విధులు సాధారణ ఫంక్షన్ల కంటే నెమ్మదిగా ఉంటాయి. పెద్ద పట్టికలలో ఇది ప్రత్యేకంగా గమనించవచ్చు. దురదృష్టవశాత్తు, VBA ఇప్పటివరకు చాలా నెమ్మదిగా ప్రోగ్రామింగ్ భాష. అందువల్ల, మీకు చాలా డేటా ఉంటే, సాధ్యమైనప్పుడల్లా ప్రామాణిక ఫంక్షన్లను ఉపయోగించడానికి ప్రయత్నించండి లేదా LAMBDA ఫంక్షన్ని ఉపయోగించి UDFలను సృష్టించండి.
అనుకూల ఫంక్షన్ పరిమితులు:
- UDFలు గణనలను నిర్వహించడానికి మరియు విలువను అందించడానికి రూపొందించబడింది. అవి మాక్రోల స్థానంలో ఉపయోగించబడవు.
- అవి ఇతర సెల్ల కంటెంట్లను మార్చలేవు (యాక్టివ్ సెల్ మాత్రమే).
- ఫంక్షన్ పేర్లు తప్పనిసరిగా కొన్ని నియమాలను పాటించాలి. ఉదాహరణకు, మీరు స్థానిక Excel ఫంక్షన్ పేరు లేదా AB123 వంటి సెల్ చిరునామాకు సరిపోలే పేరును ఉపయోగించలేరు.
- మీ అనుకూల ఫంక్షన్ పేరులో ఖాళీలను కలిగి ఉండదు, కానీ అది అండర్స్కోర్ అక్షరాన్ని కలిగి ఉంటుంది. అయితే, ప్రతి కొత్త ప్రారంభంలో పెద్ద అక్షరాలను ఉపయోగించడం ఇష్టపడే పద్ధతిword (ఉదాహరణకు, GetMaxBetween).
- ఒక UDF వర్క్షీట్లోని ఇతర ప్రాంతాలకు సెల్లను కాపీ చేసి పేస్ట్ చేయదు.
- అవి సక్రియ వర్క్షీట్ను మార్చలేవు.
- UDFలు చేయగలవు' t సక్రియ సెల్లో ఫార్మాటింగ్ను మార్చండి. మీరు వేర్వేరు విలువలను ప్రదర్శిస్తున్నప్పుడు సెల్ యొక్క ఫార్మాటింగ్ని మార్చాలనుకుంటే, మీరు షరతులతో కూడిన ఆకృతీకరణను ఉపయోగించాలి.
- అవి అదనపు పుస్తకాలను తెరవలేరు.
- Application.OnTimeని ఉపయోగించి మాక్రోలను అమలు చేయడానికి వాటిని ఉపయోగించలేరు. .
- మాక్రో రికార్డర్ని ఉపయోగించి వినియోగదారు నిర్వచించిన ఫంక్షన్ని సృష్టించడం సాధ్యం కాదు.
- ఫంక్షన్లు డెవలపర్ >లో కనిపించవు. Macros డైలాగ్.
- మీ ఫంక్షన్లు డైలాగ్ బాక్స్లో ( ఇన్సర్ట్ > ఫంక్షన్ ) మరియు ఫంక్షన్ల జాబితాలో పబ్లిక్ <7గా ప్రకటించబడితే మాత్రమే కనిపిస్తాయి> (గుర్తించకపోతే ఇది డిఫాల్ట్).
- ప్రైవేట్ గా ప్రకటించబడిన ఏవైనా ఫంక్షన్లు ఫీచర్ లిస్ట్లో కనిపించవు.
చాలా నెమ్మదైన ఆపరేషన్ , అలాగే ఉపయోగంలో ఉన్న కొన్ని పరిమితులు మిమ్మల్ని ఇలా ఆలోచింపజేస్తాయి: "ఈ అనుకూల ఫంక్షన్ల ఉపయోగం ఏమిటి?"
అవి ఉపయోగపడతాయి మరియు వాటిపై విధించిన పరిమితులను మనం గుర్తుంచుకోవాలి. మీరు UDFలను సరిగ్గా ఎలా సృష్టించాలో మరియు ఉపయోగించాలో నేర్చుకుంటే, మీరు మీ లైబ్రరీ ఆఫ్ ఫంక్షన్లను వ్రాయవచ్చు. ఇది Excelలో డేటాతో పని చేసే మీ సామర్థ్యాన్ని బాగా విస్తరిస్తుంది.
నా విషయానికొస్తే, అనుకూల ఫంక్షన్లు గొప్ప సమయాన్ని ఆదా చేస్తాయి. నీ సంగతి ఏమిటి? మీరు ఇప్పటికే మీ స్వంత UDFని సృష్టించడానికి ప్రయత్నించారా? మీకు నచ్చిందాప్రాథమిక Excel ఫంక్షన్ల కంటే మెరుగైనదా? దానిని వ్యాఖ్యలలో చర్చిద్దాం :)