உள்ளடக்க அட்டவணை
பயனர் வரையறுக்கப்பட்ட செயல்பாடுகளைப் பற்றிய தொடர் பயிற்சிகளைத் தொடர்கிறோம். எங்கள் முந்தைய கட்டுரைகளில், தனிப்பயன் செயல்பாடுகளை நாங்கள் அறிந்தோம், அவற்றை எவ்வாறு உருவாக்குவது மற்றும் பயன்படுத்துவது என்பதைக் கற்றுக்கொண்டோம். இந்த கையேட்டில் இந்த செயல்பாடுகளைப் பயன்படுத்துவதற்கான பிரத்தியேகங்களைப் பார்ப்போம் மற்றும் UDFகள் மற்றும் VBA மேக்ரோக்களுக்கு இடையிலான வேறுபாடுகளைக் காண்போம்.
இந்த டுடோரியலில், பின்வருவனவற்றைக் கற்றுக்கொள்வோம்:
இந்தக் கட்டுரை UDF பற்றிய உங்களின் அறிவை அதிகரிக்கும் மற்றும் உங்கள் Excel பணிப்புத்தகங்களில் அவற்றை இன்னும் திறம்பட பயன்படுத்த உதவும் என நம்புகிறோம்.
UDF மற்றும் Macro இரண்டும் ஒன்றா?
இரண்டும் பயனர் வரையறுக்கப்பட்ட செயல்பாடுகள் மற்றும் VBA மேக்ரோக்கள் VBA எடிட்டரைப் பயன்படுத்தி உருவாக்கப்படுகின்றன. அவற்றுக்கிடையே என்ன வித்தியாசம் மற்றும் எதற்கு முன்னுரிமை கொடுக்க வேண்டும்?
மிக முக்கியமான வேறுபாடு என்னவென்றால், செயல்பாடு கணக்கீட்டைச் செய்கிறது, மேலும் மேக்ரோ சில செயல்களைச் செய்கிறது. வழக்கமான எக்செல் செயல்பாடு போன்ற பயனர் வரையறுக்கப்பட்ட செயல்பாடு ஒரு கலத்தில் எழுதப்பட வேண்டும். அதன் செயல்பாட்டின் விளைவாக, செல் சில மதிப்பை வழங்குகிறது. அதே நேரத்தில், மற்ற கலங்களின் மதிப்புகளையும், தற்போதைய கலத்தின் சில பண்புகளையும் (குறிப்பாக, வடிவமைத்தல்) மாற்றுவது சாத்தியமில்லை. இருப்பினும், நிபந்தனை வடிவமைத்தல் சூத்திரங்களில் தனிப்பயன் செயல்பாட்டைப் பயன்படுத்தலாம்.
UDF மற்றும் VBA மேக்ரோ வெவ்வேறு வழிகளில் வேலை செய்கின்றன. எடுத்துக்காட்டாக, விஷுவல் பேசிக் எடிட்டரில் UDF ஐ உருவாக்கும்போது, Function என்ற கூற்றில் தொடங்கி End Function என முடிவடையும். நீங்கள் ஒரு மேக்ரோவை பதிவு செய்யும் போது, நீங்கள் a உடன் தொடங்குவீர்கள்கூற்று உப மற்றும் எண்ட் சப் உடன் முடிவடையும்.
எல்லா விஷுவல் பேசிக் ஆபரேட்டர்களையும் UDFகளை உருவாக்க பயன்படுத்த முடியாது. இந்த காரணத்திற்காக, ஒரு மேக்ரோ மிகவும் பல்துறை தீர்வாகும்.
ஒரு மேக்ரோ பயனர் வரையறுக்கப்பட்ட செயல்பாட்டைப் போலல்லாமல், பயனர் எந்த வாதங்களையும் அனுப்ப வேண்டியதில்லை (அல்லது எந்த வாதங்களையும் ஏற்க முடியாது).
<0 முக்கிய விஷயம் என்னவென்றால், மேக்ரோக்களின் சில கட்டளைகள் செல் முகவரிகள் அல்லது வடிவமைப்பு கூறுகளைப் பயன்படுத்தலாம் (எடுத்துக்காட்டாக, வண்ணம்). நீங்கள் கலங்களை நகர்த்தினால், வரிசைகள் மற்றும் நெடுவரிசைகளைச் சேர்த்தால் அல்லது அகற்றினால், கலங்களின் வடிவமைப்பை மாற்றினால், உங்கள் மேக்ரோக்களை எளிதாக "உடைக்க" முடியும். உங்கள் மேக்ரோக்கள் எவ்வாறு செயல்படுகின்றன என்பதை அறியாத சக ஊழியர்களுடன் உங்கள் கோப்பைப் பகிர்ந்தால் இது குறிப்பாக சாத்தியமாகும்.உதாரணமாக, உங்களிடம் ஒரு மேக்ரோ சரியாக வேலை செய்யும். இந்த சூத்திரம் செல் A1 முதல் A4 வரையிலான சதவீதத்தைக் கணக்கிடுகிறது. மேக்ரோ இந்த செல்களின் நிறத்தை மஞ்சள் நிறமாக மாற்றுகிறது. செயலில் உள்ள கலத்தில் ஒரு சதவீத வடிவம் அமைக்கப்பட்டுள்ளது.
நீங்களோ அல்லது வேறு யாரோ ஒரு புதிய வரிசையைச் செருக முடிவு செய்தால், மேக்ரோ A4 கலத்தில் மதிப்பைத் தேடும் ( உங்கள் UDF இல் உள்ள 4,1 அளவுரு, தோல்வியடைந்து, ஒரு பிழையை வழங்கும் வரிசை). மேக்ரோ செயல்பட்டால், சுருக்கம் என்று வைத்துக் கொள்வோம், நீங்கள் தவறான முடிவைப் பெறுவீர்கள். ஆனால் அதைப் பற்றி உங்களுக்குத் தெரியாது.
மேக்ரோக்களுக்கு மாறாக, பயனர் வரையறுக்கப்பட்ட செயல்பாடுகள் அத்தகைய விரும்பத்தகாத சூழ்நிலையை ஏற்படுத்தாது.
கீழே இதன் செயல்திறனைக் காணலாம்.UDF ஐப் பயன்படுத்தி அதே கணக்கீடுகள். இங்கே நீங்கள் பணித்தாளில் எங்கும் உள்ளீட்டு கலங்களைக் குறிப்பிடலாம் மற்றும் அதை மாற்றும்போது எதிர்பாராத சிக்கல்களை நீங்கள் சந்திக்க மாட்டீர்கள்.
நான் பின்வரும் சூத்திரத்தை C3 இல் எழுதினேன்:
=UDF_vs_Macro(A1,A4)
பின்னர் நான் ஒரு வெற்று வரிசையைச் செருகினேன், மேலே உள்ள ஸ்கிரீன்ஷாட்டில் நீங்கள் பார்ப்பது போல் சூத்திரம் மாற்றப்பட்டது.
இப்போது நாம் உள்ளீட்டு கலத்தையோ அல்லது ஒரு செயலி கொண்ட கலத்தையோ எங்கும் நகர்த்தலாம். முடிவு எப்போதும் சரியாக இருக்கும்.
UDFகளைப் பயன்படுத்துவதன் கூடுதல் நன்மை என்னவென்றால், உள்ளீட்டு கலத்தில் மதிப்பு மாறும்போது அவை தானாகவே புதுப்பிக்கப்படும். மேக்ரோக்களைப் பயன்படுத்தும்போது, எல்லாத் தரவும் புதுப்பித்த நிலையில் இருப்பதை நீங்கள் எப்போதும் உறுதிசெய்ய வேண்டும்.
இந்த உதாரணத்தை மனதில் வைத்துக்கொண்டு, UDFகளை முடிந்தவரை பயன்படுத்தவும், மற்ற கணக்கீடு அல்லாத செயல்களுக்கு மட்டுமே மேக்ரோக்களை பயன்படுத்தவும் விரும்புகிறேன்.
UDF ஐப் பயன்படுத்துவதற்கான வரம்புகள் மற்றும் தீமைகள்
நான் மேலே UDF இன் நன்மைகளை ஏற்கனவே குறிப்பிட்டுள்ளேன். நீண்ட கதை, இது நிலையான எக்செல் செயல்பாடுகளுடன் சாத்தியமில்லாத கணக்கீடுகளைச் செய்ய முடியும். கூடுதலாக, இது நீண்ட மற்றும் சிக்கலான சூத்திரங்களைச் சேமித்து பயன்படுத்த முடியும், அவற்றை ஒரு செயல்பாடாக மாற்றுகிறது. மேலும் நீங்கள் சிக்கலான சூத்திரங்களை மீண்டும் மீண்டும் எழுத வேண்டியதில்லை.
இப்போது UDF இன் குறைபாடுகளைப் பற்றி மேலும் விரிவாகப் பேசலாம்:
- UDFகளை உருவாக்குவதற்கு VBA ஐப் பயன்படுத்த வேண்டும். அதைச் சுற்றி எந்த வழியும் இல்லை. எக்செல் மேக்ரோவைப் போன்று பயனர் UDFஐப் பதிவு செய்ய முடியாது என்பதே இதன் பொருள். யு.டி.எப்.ஐ நீங்களே உருவாக்க வேண்டும். இருப்பினும், நீங்கள் நகலெடுக்கலாம் மற்றும்முன்பு பதிவுசெய்யப்பட்ட மேக்ரோ குறியீட்டின் பகுதிகளை உங்கள் செயல்பாட்டில் ஒட்டவும். தனிப்பயன் செயல்பாடுகளின் வரம்புகளைப் பற்றி நீங்கள் அறிந்திருக்க வேண்டும்.
- UDF இன் மற்றொரு குறைபாடு என்னவென்றால், மற்ற எக்செல் செயல்பாட்டைப் போலவே இது ஒரு கலத்தில் ஒரு மதிப்பு அல்லது மதிப்புகளின் வரிசையை மட்டுமே திரும்பப் பெற முடியும். இது வெறுமனே கணக்கீடுகளைச் செய்கிறது, அதற்கு மேல் எதுவும் இல்லை.
- உங்கள் பணிப்புத்தகத்தை உங்கள் சக ஊழியர்களுடன் பகிர்ந்து கொள்ள விரும்பினால், உங்கள் UDFகளை அதே கோப்பில் சேமிக்கவும். இல்லையெனில், உங்கள் தனிப்பயன் செயல்பாடுகள் அவர்களுக்கு வேலை செய்யாது.
- VBA எடிட்டருடன் உருவாக்கப்பட்ட தனிப்பயன் செயல்பாடுகள் வழக்கமான செயல்பாடுகளை விட மெதுவாக இருக்கும். பெரிய அட்டவணைகளில் இது குறிப்பாக கவனிக்கப்படுகிறது. துரதிர்ஷ்டவசமாக, VBA இதுவரை மிகவும் மெதுவான நிரலாக்க மொழியாகும். எனவே, உங்களிடம் நிறைய தரவு இருந்தால், முடிந்தவரை நிலையான செயல்பாடுகளைப் பயன்படுத்த முயற்சிக்கவும் அல்லது LAMBDA செயல்பாட்டைப் பயன்படுத்தி UDFகளை உருவாக்கவும்.
தனிப்பயன் செயல்பாடு வரம்புகள்:
- UDFகள் கணக்கீடுகளைச் செய்து மதிப்பைத் திரும்பப் பெற வடிவமைக்கப்பட்டுள்ளது. மேக்ரோக்களுக்குப் பதிலாக அவற்றைப் பயன்படுத்த முடியாது.
- அவற்றால் வேறு எந்த கலங்களின் உள்ளடக்கத்தையும் மாற்ற முடியாது (செயலில் உள்ள செல் மட்டும்).
- செயல்பாட்டுப் பெயர்கள் சில விதிகளைப் பின்பற்ற வேண்டும். எடுத்துக்காட்டாக, எக்செல் செயல்பாட்டுப் பெயர் அல்லது AB123 போன்ற செல் முகவரியுடன் பொருந்தக்கூடிய பெயரை நீங்கள் பயன்படுத்த முடியாது.
- உங்கள் தனிப்பயன் செயல்பாட்டில் பெயரில் இடைவெளிகள் இருக்கக்கூடாது, ஆனால் அது அடிக்கோடிட்ட எழுத்தை சேர்க்கலாம். இருப்பினும், ஒவ்வொரு புதியவற்றின் தொடக்கத்திலும் பெரிய எழுத்துக்களைப் பயன்படுத்துவது விருப்பமான முறைword (உதாரணமாக, GetMaxBetween).
- ஒரு UDF ஆனது பணித்தாளின் மற்ற பகுதிகளுக்கு செல்களை நகலெடுத்து ஒட்ட முடியாது.
- செயல்படும் பணித்தாளை அவர்களால் மாற்ற முடியாது.
- UDFகளால் முடியும்' செயலில் உள்ள கலத்தில் வடிவமைப்பை மாற்றவும். வெவ்வேறு மதிப்புகளைக் காண்பிக்கும் போது கலத்தின் வடிவமைப்பை மாற்ற விரும்பினால், நீங்கள் நிபந்தனை வடிவமைப்பைப் பயன்படுத்த வேண்டும்.
- அவை கூடுதல் புத்தகங்களைத் திறக்க முடியாது.
- Application.OnTime ஐப் பயன்படுத்தி மேக்ரோக்களை இயக்க அவற்றைப் பயன்படுத்த முடியாது. .
- மேக்ரோ ரெக்கார்டரைப் பயன்படுத்தி பயனர் வரையறுக்கப்பட்ட செயல்பாட்டை உருவாக்க முடியாது.
- செயல்பாடுகள் டெவலப்பர் > மேக்ரோக்கள் உரையாடல்.
- உங்கள் செயல்பாடுகள் உரையாடல் பெட்டியிலும் ( செருகு > செயல்பாடு ) மற்றும் செயல்பாடுகளின் பட்டியலிலும் அவை பொது<7 என அறிவிக்கப்பட்டால் மட்டுமே தோன்றும்> (குறிப்பிடப்படாவிட்டால் இது இயல்புநிலையாகும்).
- தனியார் என அறிவிக்கப்பட்ட எந்தச் செயல்பாடுகளும் அம்சப் பட்டியலில் தோன்றாது.
மிகவும் மெதுவான செயல்பாடு , மற்றும் பயன்பாட்டில் உள்ள சில கட்டுப்பாடுகள் உங்களை சிந்திக்க வைக்கலாம்: "இந்த தனிப்பயன் செயல்பாடுகளின் பயன் என்ன?"
அவை கைக்குள் வரலாம், மேலும் அவற்றின் மீது விதிக்கப்பட்டுள்ள கட்டுப்பாடுகளை நாம் கவனத்தில் கொண்டால் செய்யலாம். UDFகளை எவ்வாறு சரியாக உருவாக்குவது மற்றும் பயன்படுத்துவது என்பதை நீங்கள் கற்றுக்கொண்டால், உங்கள் செயல்பாடுகளின் நூலகத்தை எழுதலாம். இது எக்செல் இல் தரவுகளுடன் பணிபுரியும் உங்கள் திறனை பெரிதும் விரிவுபடுத்தும்.
என்னைப் பொறுத்தவரை, தனிப்பயன் செயல்பாடுகள் சிறந்த நேரத்தை மிச்சப்படுத்தும். மற்றும் நீங்கள் என்ன? நீங்கள் ஏற்கனவே உங்களின் சொந்த UDF ஐ உருவாக்க முயற்சித்தீர்களா? உங்களுக்கு பிடித்ததாஅடிப்படை எக்செல் செயல்பாடுகளை விட சிறந்ததா? அதை கருத்துகளில் விவாதிப்போம் :)