உள்ளடக்க அட்டவணை
UDFகளை எவ்வாறு உருவாக்குவது என்பது உங்களுக்கு ஏற்கனவே தெரிந்திருப்பதால் (மற்றும், உங்கள் Excel இல் அவற்றைப் பயன்படுத்த முயற்சித்தீர்கள் என்று நம்புகிறேன்), சற்று ஆழமாக ஆராய்ந்து, உங்கள் பயனர் வரையறுக்கப்பட்ட செயல்பாடு செயல்படவில்லை என்றால் என்ன செய்யலாம் என்பதைப் பார்ப்போம்.
தனிப்பயன் செயல்பாட்டை உருவாக்கும் போது சில சிக்கல்களைத் தீர்க்க, நீங்கள் பெரும்பாலும் பிழைத்திருத்தத்தை இயக்க வேண்டியிருக்கும். செயல்பாடு சரியாகச் செயல்படுகிறதா என்பதை நீங்கள் உறுதிப்படுத்திக் கொள்ளலாம்.
பின்வரும் பிழைத்திருத்த நுட்பங்களை நாங்கள் ஆராய்வோம்:
நீங்கள் தனிப்பயன் செயல்பாட்டை உருவாக்கும் போது, எப்போதும் சாத்தியம் இருக்கும் நீங்கள் தவறு செய்வீர்கள் என்று. தனிப்பயன் செயல்பாடுகள் பொதுவாக மிகவும் சிக்கலானவை. மேலும் அவை எப்போதும் சரியாக வேலை செய்யத் தொடங்குவதில்லை. சூத்திரம் தவறான முடிவு அல்லது #VALUE ஐ வழங்கலாம்! பிழை. நிலையான எக்செல் செயல்பாடுகளைப் போலன்றி, நீங்கள் வேறு எந்தச் செய்திகளையும் பார்க்க மாட்டீர்கள்.
தனிப்பயன் செயல்பாட்டின் ஒவ்வொரு அறிக்கையும் எவ்வாறு செயல்படுகிறது என்பதைச் சரிபார்க்க, படிப்படியாகச் செல்ல வழி உள்ளதா? நிச்சயம்! பிழைத்திருத்தம் இதற்குப் பயன்படுத்தப்படுகிறது.
உங்கள் தனிப்பயன் செயல்பாட்டைப் பிழைத்திருத்துவதற்கான பல வழிகளை நான் உங்களுக்கு வழங்குகிறேன், இதன் மூலம் உங்களுக்காக வேலை செய்யும் ஒன்றை நீங்கள் தேர்வு செய்யலாம்.
உதாரணமாக, நாங்கள் தனிப்பயன் செயல்பாட்டைப் பயன்படுத்துகிறோம் GetMaxBetween குறிப்பிட்ட மதிப்புகளின் வரம்பில் உள்ள அதிகபட்ச எண்ணைக் கணக்கிடும் எங்கள் முந்தைய கட்டுரைகளில் ஒன்றிலிருந்து:
செயல்பாடு GetMaxBetween(rngCells என வரம்பு, MinNum, MaxNum) மங்கலான எண் வரம்பாக மங்கலான vMax மங்கலான arrNums() மங்கலான i rngCells vMax =NumRange Case vMax Case MinNum + 0.01 to MaxNum - 0.01 arrNums(i) = vMax i = i + 1 Case வேறு GetMaxBetween = 0 முடிவு அடுத்து NumRange GetMaxBetween = WorksheetFunction. மேக்ஸ் (arrNum) வாதங்கள் <0) எண்கள் எழுதப்பட்ட கலங்களின் வரம்பு, அத்துடன் மதிப்புகளின் மேல் மற்றும் கீழ் வரம்பு.MsgBox செயல்பாட்டை முக்கியமான இடங்களில் வைக்கவும்
கணக்கீடுகளின் செயல்பாட்டைக் கண்காணிக்க, நீங்கள் காண்பிக்கலாம் சரியான இடங்களில் திரையில் உள்ள மிக முக்கியமான மாறிகளின் மதிப்புகள். பாப்-அப் உரையாடல் பெட்டிகளைப் பயன்படுத்தி இதைச் செய்யலாம்.
MsgBox என்பது ஒரு உரையாடல் பெட்டியாகும், இது பயனருக்கு சில வகையான செய்திகளைக் காட்ட நீங்கள் பயன்படுத்தலாம்.
MsgBox இன் தொடரியல் மற்ற VBA செயல்பாடுகளைப் போலவே உள்ளது:
MsgBox(prompt [, பொத்தான்கள்] [, title] [, helpfile, சூழல்])prompt என்பது தேவையான வாதமாகும். உரையாடல் பெட்டியில் நீங்கள் பார்க்கும் செய்தி இதில் உள்ளது. தனிப்பட்ட மாறிகளின் மதிப்புகளைக் காட்டவும் இதைப் பயன்படுத்தலாம்.
மற்ற அனைத்து வாதங்களும் விருப்பமானவை.
[ பொத்தான்கள் ] - எந்த பொத்தான்கள் மற்றும் சின்னங்கள் என்பதை தீர்மானிக்கிறது MsgBox இல் காட்டப்படும். எடுத்துக்காட்டாக, vbOkOnly என்ற விருப்பத்தைப் பயன்படுத்தினால், சரி பொத்தான் மட்டுமே காட்டப்படும். இந்த வாதத்தை நீங்கள் தவறவிட்டாலும், இந்த பொத்தான் இயல்பாகவே பயன்படுத்தப்படும்.
[ தலைப்பு ] - இங்கே நீங்கள் செய்தி பெட்டியின் தலைப்பைக் குறிப்பிடலாம்.
இதிலிருந்து மாறலாம் பயிற்சி மற்றும் பிழைத்திருத்தத்தை தொடங்க வார்த்தைகள். காட்சிப்படுத்தசெய்தி, Case Else ஆபரேட்டருக்கு முன் GetMaxBetween பயனர் வரையறுக்கப்பட்ட செயல்பாட்டின் குறியீட்டில் பின்வரும் வரியைச் சேர்க்கவும்:
MsgBox vMax, "Count -" & iமுடிவில் நாம் பெறுவது இதோ:
செயல்பாடு GetMaxBetween(rngCells As Range, MinNum, MaxNum) மங்கலான எண் வரம்பு மங்கலான vMax மங்கலான arrNums() Dim i Integer ReDim arrNums(rngCells.Count) rngCells இல் உள்ள ஒவ்வொரு NumRangeக்கும் vMax = NumRange கேஸ் vMax Case MinNum + 0.01 To MaxNum - 0.01 arrNums(i) = vMax i = i + 1 MsgBox vMax, "கவுண்ட் -" & i Case Else GetMaxBetween = 0 End Next NumRange GetMaxBetween = WorksheetFunction.Max(arrNums) இறுதிச் செயல்பாடுஉரையாடல் பெட்டியில் உள்ள vMax மாறியைப் பயன்படுத்தி, எந்த எண்கள் தேர்வுக்கான அளவுகோலைச் சந்திக்கின்றன என்பதைப் பார்ப்போம். அவற்றில் பெரியதை நாம் தேர்ந்தெடுக்கலாம். "கவுண்ட் -" & ஆம்ப்; தலைப்புப் பட்டியில், அதிகபட்ச மதிப்பைத் தீர்மானிக்க ஏற்கனவே எத்தனை எண்களைத் தேர்ந்தெடுத்துள்ளோம் என்பதைக் குறிப்பிடுகிறோம். ஒவ்வொரு புதிய மதிப்பிலும் கவுண்டர் அதிகரிக்கப்படும்.
எங்கள் UDF அமைக்கப்பட்டதும், கீழே உள்ள சூத்திரத்தை தேதி வரம்பிற்குப் பயன்படுத்துகிறோம்:
= GetMaxBetween (A1:A6,10,50)
Enter பட்டனுக்குப் பிறகு அழுத்தினால், கீழே உள்ள ஸ்கிரீன்ஷாட்டில் உள்ளதைப் போன்ற ஒரு செய்தியை நீங்கள் காண்பீர்கள்:
இது A1: A6 வரம்பில் உள்ள முதல் எண் ஆகும். 50க்கு மேல்.
சரி என்பதைக் கிளிக் செய்த பிறகு, 14 என்ற எண்ணுடன் இரண்டாவது செய்தி தோன்றும். மீதமுள்ள எண்கள் தேர்வோடு பொருந்தவில்லை.அளவுகோல்கள். எனவே, செயல்பாடு வெளியேறி, இரண்டு மதிப்புகளில் மிகப்பெரிய மதிப்பை வழங்குகிறது, 17.
MsgBox செயல்பாட்டை உங்கள் தனிப்பயன் செயல்பாட்டின் மிக முக்கியமான இடங்களில் மதிப்புகள் எவ்வாறு கட்டுப்படுத்துகின்றன என்பதைக் கட்டுப்படுத்தலாம். தனிப்பட்ட மாறிகள் மாற்றம். உங்களிடம் ஒரு பெரிய செயல்பாடு மற்றும் அதிக கணக்கீடு இருக்கும்போது செய்தி பெட்டிகள் மிகவும் பயனுள்ளதாக இருக்கும். இந்தச் சந்தர்ப்பத்தில், குறியீட்டின் எந்தப் பகுதியில் பிழை ஏற்படுகிறது என்பதைத் தீர்மானிப்பது உங்களுக்கு எளிதாக இருக்கும்.
நிறுத்தப் புள்ளிகளைத் தீர்மானித்து, படிப்படியாகச் செய்யவும்
இதன் குறியீட்டில் பிரேக் பாயின்ட்களைச் சேர்க்கலாம். குறியீடு செயல்படுத்தல் நிறுத்தப்படும் உங்கள் செயல்பாடு. எனவே நீங்கள் படிப்படியாக கணக்கீடு செயல்முறையை பின்பற்றலாம். அவ்வாறு செய்யும்போது, மாறிகளின் மதிப்புகள் எவ்வாறு மாறுகின்றன என்பதை நீங்கள் பார்க்கலாம்.
பிரேக் பாயிண்ட்டைச் சேர்க்க, கர்சரை நீங்கள் இடைநிறுத்தத் தேர்வுசெய்யும் ஸ்டேட்மெண்ட் உள்ள வரியில் வைக்கவும். பின்னர் வலது கிளிக் செய்து Debug -> பிரேக்பாயிண்ட் ஐ நிலைமாற்று அல்லது F9 ஐ அழுத்தவும். செயல்பாட்டுக் குறியீட்டின் இடதுபுறத்தில் செங்குத்து சாம்பல் பகுதியில் நீங்கள் விரும்பிய இடத்தில் கிளிக் செய்யலாம்.
கீழே உள்ள ஸ்கிரீன்ஷாட்டில் நீங்கள் பார்ப்பது போல் ஒரு சிவப்பு வட்டம் தோன்றும். கணக்கீடு நிறுத்தப்படும் குறியீட்டின் வரி சிவப்பு நிறத்தில் காட்டப்பட்டுள்ளது.
இப்போது, செயல்பாடு இயங்கும் போது VBA எடிட்டர் சாளரம் திறக்கப்படும். நீங்கள் நிறுத்திய இடத்தில் கர்சர் நிலைநிறுத்தப்படும்.
செயல்பாட்டுக் குறியீட்டில் உள்ள ஏதேனும் மாறிகள் மீது உங்கள் மவுஸ் கர்சரை நகர்த்தினால், அவற்றின் தற்போதைய நிலையைக் காணலாம்.மதிப்பு:
கணக்கீட்டைத் தொடர F5ஐ அழுத்தவும்.
குறிப்பு. இடைவெளிக்குப் பிறகு, கணக்கீடுகளின் முன்னேற்றத்தை படிப்படியாகக் கண்காணிக்கத் தொடங்கலாம். நீங்கள் F8 பொத்தானை அழுத்தினால், VBA குறியீட்டின் அடுத்த ஒரு வரி மட்டுமே செயல்படுத்தப்படும். அம்புக்குறியுடன் மஞ்சள் கோடு கடைசியாக செயல்படுத்தப்பட்ட குறியீடு நிலைக்கு நகரும்.
செயல்பாட்டின் செயலாக்கம் மீண்டும் இடைநிறுத்தப்பட்டதால், மவுஸ் கர்சரைப் பயன்படுத்தி செயல்பாட்டின் அனைத்து மாறிகளின் தற்போதைய மதிப்புகளை நீங்கள் பார்க்கலாம்.
F8 இன் அடுத்த அழுத்தமானது நம்மை ஒரு படி மேலே கொண்டு செல்லும். . எனவே கணக்கீடு முடியும் வரை F8ஐ அழுத்தலாம். அல்லது அடுத்த பிரேக் பாயிண்ட் வரை கணக்கீட்டைத் தொடர F5 ஐ அழுத்தவும்.
பிழை ஏற்பட்டால், பிழை ஏற்பட்ட குறியீட்டில் உள்ள புள்ளியில் கர்சர் நிறுத்தப்படும். மேலும் நீங்கள் ஒரு பாப்-அப் பிழை செய்தியையும் காண்பீர்கள். இது சிக்கலின் காரணத்தைக் கண்டறிவதை எளிதாக்குகிறது.
கோப்பை மூடும் வரை நீங்கள் குறிப்பிடும் பிரேக் பாயிண்ட்கள் பயன்படுத்தப்படும். நீங்கள் அதை மீண்டும் திறக்கும்போது, அவற்றை மீண்டும் அமைக்க வேண்டும். மிகவும் வசதியான முறை அல்ல, நீங்கள் நினைக்கவில்லையா?
இருப்பினும், இந்த சிக்கலை தீர்க்க முடியும். தேவையான புள்ளிகளில் செயல்பாட்டுக் குறியீட்டில் நிறுத்து அறிக்கையைச் செருகவும், மேலும் பிரேக் பாயின்ட்களைப் பயன்படுத்தும் போது அதே வழியில் நிரல் செயல்பாட்டை நிறுத்தலாம்.
VBA ஒரு Stop அறிக்கையை சந்திக்கும் போது, அது நிரல் செயலாக்கத்தை நிறுத்தி உங்கள் செயலுக்காக காத்திருக்கும். மாறிகளின் மதிப்புகளைச் சரிபார்க்கவும்தொடர F5 ஐ அழுத்தவும்.
அல்லது மேலே விவரிக்கப்பட்டுள்ளபடி படி-படி-படி செயல்பாட்டை நிறைவேற்ற F8 ஐ அழுத்தவும்.
Stop அறிக்கை நிரலின் ஒரு பகுதியாகும். பிரேக் பாயின்ட் போலவே நீக்கப்படவில்லை. பிழைத்திருத்தம் முடிந்ததும், அதை நீங்களே அகற்றவும். அல்லது அதை ஒரு ஒற்றை மேற்கோளுடன் (') முன் வைத்து கருத்துரையாக மாற்றவும்.
டிபக் செயல்பாட்டுக் குறியீடு சரியான இடத்தில் உள்ளது. சுழற்சி முறையில் மாறும் மாறிகளின் மதிப்புகளைச் சரிபார்க்க இது பயனுள்ளதாக இருக்கும்.
கீழே உள்ள ஸ்கிரீன்ஷாட்டில் பிழைத்திருத்தம். பிரிண்டின் செயல்திறனுக்கான உதாரணத்தைக் காணலாம்.
ஸ்டேட்மெண்ட் Debug.Print i, vMax மதிப்புகள் மற்றும் அவற்றின் வரிசை எண்களை அச்சிடுகிறது.
உடனடி சாளரத்தில் நீங்கள் தேர்ந்தெடுத்த வரம்பிலிருந்து இரண்டு எண்களை (17 மற்றும் 14) பார்க்கிறீர்கள், இது வரம்புகளை அமைத்து அதில் அதிகபட்சம் தேர்ந்தெடுக்கப்படும். இலக்கங்கள் 1 மற்றும் 2 என்பது செயல்பாடு எண்கள் தேர்ந்தெடுக்கப்பட்ட 2 சுழற்சிகளை நிறைவு செய்துள்ளது. நாம் முன்பு MsgBox இல் செய்ததைப் போலவே, மிக முக்கியமான மாறிகளின் மதிப்புகளைப் பார்க்கிறோம். ஆனால் இது செயல்பாட்டை நிறுத்தவில்லை.
செயல்முறையிலிருந்து ஒரு செயல்பாட்டை அழைக்கவும்
பயனர் வரையறுக்கப்பட்ட செயல்பாட்டை நீங்கள் பணித்தாளில் உள்ள கலத்திலிருந்து அல்ல, மாறாக ஒரு செயல்முறையிலிருந்து அழைக்கலாம். இந்த வழக்கில், அனைத்து பிழைகளும் விஷுவல் பேசிக் எடிட்டர் சாளரத்தில் காட்டப்படும்.
பயனர் வரையறுக்கப்பட்ட செயல்பாட்டை GetMaxBerween இலிருந்து எப்படி அழைக்கலாம் என்பது இங்கே உள்ளது.செயல்முறை:
துணை சோதனை() Dim x x = GetMaxBetween(Range ( "A1:A6" ), 10, 50) MsgBox(x) End Subகுறியீட்டில் எங்கு வேண்டுமானாலும் கர்சரை வைத்து F5 ஐ அழுத்தவும். செயல்பாட்டில் பிழை இல்லை என்றால், கணக்கீடு முடிவுடன் ஒரு பாப்-அப் சாளரத்தைக் காண்பீர்கள்.
பிழை ஏற்பட்டால், VBA எடிட்டரில் தொடர்புடைய செய்தியைக் காண்பீர்கள். கணக்கீடு நிறுத்தப்படும் மற்றும் பிழை ஏற்பட்ட குறியீட்டின் வரி மஞ்சள் நிறத்தில் முன்னிலைப்படுத்தப்படும். எங்கே, ஏன் பிழை ஏற்பட்டது என்பதை நீங்கள் எளிதாகக் கண்டறியலாம்.
அவ்வளவுதான். இப்போது நீங்கள் உங்கள் சொந்த செருகு நிரலை உருவாக்கியுள்ளீர்கள், அதை எக்செல் இல் சேர்த்தீர்கள், அதில் உள்ள UDF ஐப் பயன்படுத்தலாம். நீங்கள் அதிக UDFகளைப் பயன்படுத்த விரும்பினால், VBA எடிட்டரில் உள்ள ஆட்-இன் மாட்யூலில் குறியீட்டை எழுதி சேமிக்கவும்.
இன்னைக்கு அவ்வளவுதான். தனிப்பயன் செயல்பாடுகளை பிழைத்திருத்துவதற்கான பல்வேறு வழிகளை நாங்கள் உள்ளடக்கியுள்ளோம், மேலும் உங்கள் பணிப்புத்தகத்தில் அவற்றை எவ்வாறு பயன்படுத்துவது என்பதைக் கற்றுக்கொண்டோம். இந்த வழிகாட்டுதல்கள் உங்களுக்கு பயனுள்ளதாக இருக்கும் என நம்புகிறோம். உங்களிடம் ஏதேனும் கேள்விகள் இருந்தால், இந்தக் கட்டுரைக்கான கருத்துகளில் எழுதவும்.