VBA உடன் எக்செல் மேக்ரோக்களை நிரலாக்கும்போது தவிர்க்க வேண்டிய 4 தவறுகள்

VBA உடன் எக்செல் மேக்ரோக்களை நிரலாக்கும்போது தவிர்க்க வேண்டிய 4 தவறுகள்

மைக்ரோசாப்ட் எக்செல் ஏற்கனவே ஒரு திறன் தரவு பகுப்பாய்வு கருவி, ஆனால் மேக்ரோக்களுடன் மீண்டும் மீண்டும் செய்யும் பணிகளை விஷுவல் பேசிக் ஃபார் அப்ளிகேஷன்ஸ் (VBA) இல் எளிய குறியீட்டை எழுதுவதன் மூலம் அது மிகவும் சக்தி வாய்ந்தது. தவறாகப் பயன்படுத்தினாலும், VBA சிக்கல்களை ஏற்படுத்தும்.





நீங்கள் ஒரு புரோகிராமராக இல்லாவிட்டாலும், உங்கள் விரிதாளில் ஈர்க்கக்கூடிய செயல்பாட்டைச் சேர்க்க அனுமதிக்கும் எளிய செயல்பாடுகளை VBA வழங்குகிறது.





நீங்கள் எக்செல் இல் டாஷ்போர்டுகளை உருவாக்கும் VBA குருவாக இருந்தாலும் அல்லது அடிப்படை செல் கணக்கீடுகளைச் செய்யும் எளிய ஸ்கிரிப்ட்களை எழுதும் புதியவராக இருந்தாலும் பரவாயில்லை. சுத்தமான, பிழை இல்லாத குறியீட்டை எப்படி எழுதுவது என்பதை அறிய இந்த எளிய நிரலாக்க நுட்பங்களைப் பின்பற்றவும்.





VBA உடன் தொடங்குதல்

VBA உங்களுக்காக அனைத்து வகையான நேர்த்தியான விஷயங்களையும் செய்ய முடியும். தாள்களை மாற்றும் மேக்ரோக்களை எழுதுவதிலிருந்து VBA ஸ்கிரிப்ட்களைப் பயன்படுத்தி எக்செல் விரிதாளில் இருந்து மின்னஞ்சல்களை அனுப்புகிறது உங்கள் உற்பத்தித்திறனில் மிகக் குறைந்த வரம்புகள் உள்ளன.

நீங்கள் எக்செல் இல் VBA இல் நிரலாக்கவில்லை என்றால், உங்கள் Excel திட்டத்தில் டெவலப்பர் கருவிகளை நீங்கள் செயல்படுத்த வேண்டும். நல்ல செய்தி என்னவென்றால், டெவலப்பர் கருவிகளை இயக்குவது உண்மையில் மிகவும் எளிதானது. செல்லுங்கள் கோப்பு > விருப்பங்கள் பின்னர் ரிப்பனைத் தனிப்பயனாக்கவும் . வெறும் நகர்த்தவும் டெவலப்பர் இடது பலகத்திலிருந்து வலதுபுறம் தாவல்.



தேர்வுப்பெட்டியில் இந்த தாவல் இயக்கப்பட்டிருப்பதை உறுதி செய்து கொள்ளுங்கள், இப்போது டெவலப்பர் தாவல் உங்கள் எக்செல் மெனுவில் தோன்றும்.

இங்கிருந்து குறியீடு எடிட்டர் சாளரத்திற்குச் செல்வதற்கான எளிதான வழி, அதைக் கிளிக் செய்வதுதான் கோட் பார்க்கவும் பொத்தான் கீழ் கட்டுப்பாடுகள் டெவலப்பர் மெனுவில்.





நீங்கள் இப்போது VBA குறியீட்டை எழுதத் தயாராக உள்ளீர்கள்! இந்த தாவலில் நீங்கள் VBA ஐ அணுகலாம் எக்செல் இல் மேக்ரோக்களைப் பதிவுசெய்கிறது . இப்போது எக்செல் வேலை செய்யத் தயாராக இருப்பதால், தவிர்க்க வேண்டிய சில பொதுவான தவறுகள் மற்றும் அவற்றைத் தடுப்பதற்கான வழிகளைப் பார்ப்போம்.

1. பயங்கரமான மாறி பெயர்கள்

இப்போது நீங்கள் குறியீடு சாளரத்தில் இருக்கிறீர்கள், VBA குறியீட்டை எழுதத் தொடங்க வேண்டிய நேரம் இது. பெரும்பாலான நிரல்களின் முதல் முக்கியமான படி, அது VBA அல்லது வேறு எந்த மொழியாக இருந்தாலும், உங்கள் மாறிகளை வரையறுக்கிறது. மாறிகளை சரியாக பெயரிடாதது புதிய டெவலப்பர்கள் செய்யும் மிகவும் பொதுவான நிரலாக்க தவறுகளில் ஒன்றாகும்.





எக்ஸ்பாக்ஸ் ஒன்னில் விவரிப்பாளரை எவ்வாறு முடக்குவது

எனது பல தசாப்த கால குறியீட்டு எழுத்தில், மாறி பெயரிடும் மரபுகளுக்கு வரும்போது நான் பல சிந்தனைப் பள்ளிகளைக் கண்டேன் மற்றும் சில விதிகளை கடினமான வழியில் கற்றுக்கொண்டேன். மாறி பெயர்களை உருவாக்குவதற்கான சில விரைவான குறிப்புகள் இங்கே:

  • அவற்றை முடிந்தவரை குறுகியதாக ஆக்குங்கள்.
  • அவற்றை முடிந்தவரை விளக்கமாக ஆக்குங்கள்.
  • மாறி வகையுடன் அவற்றை முன்னுரை (பூலியன், முழு எண், முதலியன ...).

பிசி தகவல்களைச் சேகரிக்க எக்செல் இலிருந்து WMIC விண்டோஸ் அழைப்புகளைச் செய்ய நான் அடிக்கடி பயன்படுத்தும் ஒரு நிரலின் மாதிரி ஸ்கிரீன் ஷாட் இங்கே.

தொகுதி அல்லது பொருளுக்குள் உள்ள ஒரு செயல்பாட்டின் உள்ளே நீங்கள் மாறிகளைப் பயன்படுத்த விரும்பும் போது (இதை நான் கீழே விளக்குகிறேன்), பின்னர் அறிவிப்பை முன்னுரிப்பதன் மூலம் நீங்கள் அதை ஒரு 'பொது' மாறியாக அறிவிக்க வேண்டும். பொது . இல்லையெனில், மாறிகள் வார்த்தையுடன் முன்னுரைப்பதன் மூலம் அறிவிக்கப்படும் ஒன்றுமில்லை .

நீங்கள் பார்க்கிறபடி, மாறி ஒரு முழு எண்ணாக இருந்தால் அது முன்னுரை செய்யப்பட்டது int . அது ஒரு சரம் என்றால் . இது ஒரு தனிப்பட்ட விருப்பம், இது நீங்கள் நிரலாக்கத்தின் போது உதவுகிறது, ஏனென்றால் பெயரைப் பார்ப்பதன் மூலம் மாறி என்ன வகையான தரவை வைத்திருக்கிறது என்பதை நீங்கள் எப்போதும் அறிவீர்கள்.

மேலும், உங்கள் எக்செல் பணிப்புத்தகத்தில் தாள்களுக்கு பெயரிட வேண்டும்.

இந்த வழியில், உங்கள் எக்செல் VBA குறியீட்டில் தாள் பெயரை நீங்கள் குறிப்பிடும் போது, ​​நீங்கள் அர்த்தமுள்ள பெயரை குறிப்பிடுகிறீர்கள். மேலே உள்ள எடுத்துக்காட்டில், நெட்வொர்க் தகவலை நான் இழுக்கும் ஒரு தாள் என்னிடம் உள்ளது, எனவே நான் தாளை 'நெட்வொர்க்' என்று அழைக்கிறேன். எந்த நேரத்திலும் நான் நெட்வொர்க் ஷீட்டை குறிப்பிட விரும்பினால், அது என்ன தாள் எண் என்று பார்க்காமல் விரைவாகச் செய்ய முடியும்.

2. வளையத்திற்கு பதிலாக உடைத்தல்

புதிய VBA புரோகிராமர்கள் குறியீடுகளை எழுதத் தொடங்கும் போது மிகவும் பொதுவான பிரச்சனைகளில் ஒன்று சுழல்களை சரியாகக் கையாள்வது.

எக்செல் இல் லூப்பிங் மிகவும் பொதுவானது, ஏனெனில் நீங்கள் தரவு வரிசைகளை ஒரு முழு வரிசை அல்லது ஒரு நெடுவரிசையில் செயலாக்குகிறீர்கள், எனவே அவை அனைத்தையும் செயலாக்க நீங்கள் லூப் செய்ய வேண்டும்.

ஒரு குறிப்பிட்ட நிபந்தனை உண்மையாக இருக்கும்போது புதிய புரோகிராமர்கள் பெரும்பாலும் ஒரு வளையத்திலிருந்து (VBA For loops அல்லது VBA Do while loops) வெளியேற விரும்புகிறார்கள்.

VBA வளையத்தை உடைக்க இந்த முறையின் ஒரு உதாரணம் இங்கே.

For x = 1 To 20
If x = 6 Then Exit For
y = x + intRoomTemp
Next i

புதிய புரோகிராமர்கள் இந்த அணுகுமுறையை எடுத்துக்கொள்கிறார்கள், ஏனெனில் இது எளிதானது. வெளிப்படையாக ஒரு வளையத்தை உடைப்பதை முயற்சி செய்து தவிர்க்கவும்.

பெரும்பாலும், அந்த 'இடைவேளையின்' பிறகு வரும் குறியீடு செயலாக்க முக்கியம். நீங்கள் பாதியிலேயே ஒரு வளையத்தை விட்டுவிட விரும்பும் நிலைமைகளைக் கையாள மிகவும் தூய்மையான மற்றும் தொழில்முறை வழி, அந்த வெளியேறும் நிலையை VBA while அறிக்கை போன்றவற்றில் சேர்ப்பதுதான்.

While (x>=1 AND x<=20 AND x6)
For x = 1 To 20
y = x + intRoomTemp
Next i
Wend

இது உங்கள் குறியீட்டின் தர்க்கரீதியான ஓட்டத்தை அனுமதிக்கிறது. இப்போது குறியீடு சுழலும் மற்றும் 6 ஐ அடைந்தவுடன் நின்றுவிடும்.

3. வரிசைகளைப் பயன்படுத்துவதில்லை

புதிய VBA புரோகிராமர்கள் செய்யும் மற்றொரு சுவாரஸ்யமான தவறு, கணக்கீட்டு செயல்பாட்டின் போது வரிசைகள் மற்றும் நெடுவரிசைகள் வழியாக வடிகட்டக்கூடிய பல உள்ளமைக்கப்பட்ட சுழல்களுக்குள் அனைத்தையும் செயலாக்க முயற்சிக்கிறது.

இது பெரிய செயல்திறன் சிக்கல்களுக்கும் வழிவகுக்கும். ஒரு நெடுவரிசை மூலம் சுழன்று மதிப்புகளை பிரித்தெடுப்பது ஒவ்வொரு முறையும் உங்கள் செயலியில் ஒரு கொலையாளி. எண்களின் நீண்ட பட்டியல்களைக் கையாள மிகவும் திறமையான வழி ஒரு வரிசையைப் பயன்படுத்துவதாகும்.

நீங்கள் இதற்கு முன்பு ஒரு வரிசையைப் பயன்படுத்தவில்லை என்றால், பயப்பட வேண்டாம். நீங்கள் தகவலை வைக்கக்கூடிய ஒரு குறிப்பிட்ட எண்ணிக்கையிலான 'க்யூப்ஸ்' கொண்ட ஐஸ் க்யூப் தட்டில் ஒரு வரிசையை கற்பனை செய்து பாருங்கள். க்யூப்ஸ் 1 முதல் 12 வரை எண்ணிடப்பட்டுள்ளது, மேலும் நீங்கள் தரவை எப்படி 'போடுகிறீர்கள்'.

தட்டச்சு செய்வதன் மூலம் ஒரு வரிசையை நீங்கள் எளிதாக வரையறுக்கலாம் Dim arrMyArray (12) முழு எண்ணாக .

விண்டோஸ் 10 இல் ரேமை எப்படி விடுவிப்பது

நீங்கள் நிரப்ப 12 ஸ்லாட்டுகளுடன் கூடிய 'ட்ரே'யை இது உருவாக்குகிறது.

வரிசை இல்லாமல் ஒரு வரிசை வளையக் குறியீடு எப்படி இருக்கும் என்பது இங்கே:

Sub Test1()
Dim x As Integer
intNumRows = Range('A2', Range('A2').End(xldown)).Rows.Count
Range('A2').Select
For x = 1 To intNumRows
If Range('A' & str(x)).value <100 then
intTemp = (Range('A' & str(x)).value) * 32 - 100
End If
ActiveCell.Offset(1, 0).Select
Next
End Sub

இந்த எடுத்துக்காட்டில், குறியீடு வரம்பில் உள்ள ஒவ்வொரு செல் வழியாகவும் செயலாக்கப்பட்டு வெப்பநிலை கணக்கீட்டைச் செய்கிறது.

இதே மதிப்புகளில் நீங்கள் எப்போதாவது வேறு சில கணக்கீடுகளைச் செய்ய விரும்பினால், செயல்முறை குழப்பமாக இருக்கும். நீங்கள் இந்த குறியீட்டை நகலெடுக்க வேண்டும், இந்த கலங்கள் அனைத்தையும் செயலாக்கி, உங்கள் புதிய கணக்கீட்டைச் செய்ய வேண்டும். அனைத்தும் ஒரே மாற்றத்திற்காக!

இங்கே ஒரு சிறந்த உதாரணம், ஒரு வரிசையைப் பயன்படுத்தி. முதலில், வரிசையை உருவாக்குவோம்.

Sub Test1()
Dim x As Integer
intNumRows = Range('A2', Range('A2').End(xldown)).Rows.Count
Range('A2').Select
For x = 1 To intNumRows
arrMyArray(x-1) = Range('A' & str(x)).value)
ActiveCell.Offset(1, 0).Select
Next
End Sub

தி x-1 வரிசை உறுப்பை சுட்டிக்காட்டுவதற்கு மட்டுமே தேவை, ஏனெனில் ஃபார் லூப் 1 இல் தொடங்குகிறது. வரிசை கூறுகள் 0 இல் தொடங்க வேண்டும்.

இப்போது உங்களிடம் வரிசை இருப்பதால் உள்ளடக்கங்களை செயலாக்குவது மிகவும் எளிது.

Sub TempCalc()
For x = 0 To UBound(arrMyArray)
arrMyTemps(y) = arrMyArray(x) * 32 - 100
Next
End Sub

இந்த எடுத்துக்காட்டு முழு வரிசை வரிசையின் வழியாக செல்கிறது ( UBound வரிசையில் உள்ள தரவு மதிப்புகளின் எண்ணிக்கையை உங்களுக்கு அளிக்கிறது), வெப்பநிலை கணக்கீடு செய்கிறது, பின்னர் அதை மற்றொரு வரிசையில் வைக்கிறது arrMyTemps .

4. பல குறிப்புகளைப் பயன்படுத்துதல்

நீங்கள் முழு அளவிலான விஷுவல் பேசிக் அல்லது VBA இல் நிரலாக்கினாலும், சில அம்சங்களை அணுக நீங்கள் 'குறிப்புகளை' சேர்க்க வேண்டும்.

குறிப்புகள் என்பது 'நூலகங்கள்' போன்ற செயல்பாடுகளால் நிரப்பப்பட்டவை, நீங்கள் அந்தக் கோப்பை இயக்கினால் நீங்கள் தட்டலாம். கிளிக் செய்வதன் மூலம் டெவலப்பர் பார்வையில் குறிப்புகளைக் காணலாம் கருவிகள் மெனுவில் பின்னர் கிளிக் செய்யவும் குறிப்புகள் .

இந்த சாளரத்தில் நீங்கள் காண்பது உங்கள் தற்போதைய VBA திட்டத்திற்கான தற்போது தேர்ந்தெடுக்கப்பட்ட குறிப்புகள்.

தேவையற்ற குறிப்புகள் கணினி வளங்களை வீணாக்கும் என்பதால் இந்த பட்டியலை நீங்கள் சரிபார்க்க வேண்டும். நீங்கள் எக்ஸ்எம்எல் கோப்பு கையாளுதலைப் பயன்படுத்தாவிட்டால், மைக்ரோசாப்ட் எக்ஸ்எம்எல்லை ஏன் தேர்ந்தெடுக்க வேண்டும்? நீங்கள் ஒரு தரவுத்தளத்துடன் தொடர்பு கொள்ளவில்லை என்றால், மைக்ரோசாப்ட் DAO போன்றவற்றை அகற்றவும்.

இந்த தேர்ந்தெடுக்கப்பட்ட குறிப்புகள் என்ன செய்வது என்று உங்களுக்குத் தெரியாவிட்டால், அழுத்தவும் எஃப் 2 நீங்கள் பொருள் எக்ஸ்ப்ளோரரைப் பார்ப்பீர்கள். இந்த சாளரத்தின் மேற்புறத்தில், உலாவுவதற்கு குறிப்பு நூலகத்தை நீங்கள் தேர்வு செய்யலாம்.

தேர்ந்தெடுக்கப்பட்டவுடன், நீங்கள் அனைத்து பொருட்களையும் கிடைக்கக்கூடிய செயல்பாடுகளையும் பார்ப்பீர்கள், அதைப் பற்றி மேலும் அறிய நீங்கள் கிளிக் செய்யலாம்.

உதாரணமாக, நான் DAO நூலகத்தை க்ளிக் செய்யும்போது, ​​இது தரவுத்தளங்களுடன் இணைப்பது மற்றும் தொடர்புகொள்வது பற்றியது என்பது விரைவில் தெளிவாகிறது.

உங்கள் நிரலாக்க திட்டத்தில் நீங்கள் பயன்படுத்தும் குறிப்புகளின் எண்ணிக்கையைக் குறைப்பது ஒரு நல்ல உணர்வு, மேலும் உங்கள் ஒட்டுமொத்த பயன்பாட்டை மிகவும் திறமையாக இயக்க உதவும்.

மைக்ரோசாஃப்ட் மேற்பரப்பில் ஸ்கிரீன் ஷாட் செய்வது எப்படி

எக்செல் VBA இல் நிரலாக்க

எக்செல் இல் குறியீட்டை எழுதுவதற்கான முழு யோசனையும் நிறைய பேரை பயமுறுத்துகிறது, ஆனால் இந்த பயம் உண்மையில் தேவையில்லை. பயன்பாடுகளுக்கான விஷுவல் பேசிக் கற்றுக்கொள்வது மிகவும் எளிமையான மொழியாகும், மேலும் மேலே குறிப்பிடப்பட்டுள்ள அடிப்படை பொதுவான நடைமுறைகளை நீங்கள் பின்பற்றினால், உங்கள் குறியீடு சுத்தமாகவும், திறமையாகவும், புரிந்துகொள்ள எளிதாகவும் இருப்பதை உறுதி செய்வீர்கள்.

இருப்பினும் அங்கு நிறுத்த வேண்டாம். எக்செல் திறன்களின் வலுவான அடித்தளத்தை உருவாக்கவும் ஆரம்பநிலைக்கான VBA பயிற்சி . உங்கள் விரிதாளை தானியக்கமாக்க உதவும் ஆதாரங்களுடன் VBA மற்றும் மேக்ரோக்களைப் பற்றி தொடர்ந்து கற்றுக் கொள்ளுங்கள்.

பகிர் பகிர் ட்வீட் மின்னஞ்சல் விண்டோஸ் 11 க்கு மேம்படுத்துவது மதிப்புள்ளதா?

விண்டோஸ் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது. ஆனால் விண்டோஸ் 10 இலிருந்து விண்டோஸ் 11 க்கு மாறுவதற்கு இது போதுமானதா?

அடுத்து படிக்கவும்
தொடர்புடைய தலைப்புகள்
  • உற்பத்தித்திறன்
  • நிரலாக்க
  • நிரலாக்க
  • காட்சி அடிப்படை நிரலாக்க
  • மைக்ரோசாப்ட் எக்செல்
எழுத்தாளர் பற்றி அந்தோனி கிராண்ட்(40 கட்டுரைகள் வெளியிடப்பட்டன)

அந்தோனி கிராண்ட் நிரலாக்க மற்றும் மென்பொருளை உள்ளடக்கிய ஒரு ஃப்ரீலான்ஸ் எழுத்தாளர். அவர் கணினி அறிவியல், நிரலாக்கம், எக்செல், மென்பொருள் மற்றும் தொழில்நுட்பத்தில் முக்கிய பங்கு வகிக்கிறார்.

அந்தோனி கிராண்டின் மேலும்

எங்கள் செய்திமடலுக்கு குழுசேரவும்

தொழில்நுட்ப குறிப்புகள், மதிப்புரைகள், இலவச மின் புத்தகங்கள் மற்றும் பிரத்யேக ஒப்பந்தங்களுக்கு எங்கள் செய்திமடலில் சேரவும்!

குழுசேர இங்கே சொடுக்கவும்