உள்ளமைக்கப்பட்ட vba செயல்பாடுகள். VBA எக்செல். தனிப்பயன் செயல்பாடு (தொடரியல், கூறுகள்). பல வாதங்களுடன் VBA இல் ஒரு செயல்பாட்டை உருவாக்குதல்

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

  1. பணித்தாளில் ஒரு சூத்திரமாக, அது வாதங்கள் மற்றும் மதிப்புகளை திரும்பப் பெறலாம்.
  2. உங்கள் VBA வழக்கத்தின் ஒரு பகுதியாக. ஒரு துணை நடைமுறையில் அல்லது பிற செயல்பாடுகளுக்குள்.
  3. நிபந்தனை வடிவமைப்பு விதிகளில்.

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

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

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

ஒரு செயல்முறை (துணை) மற்றும் ஒரு செயல்பாடு (செயல்பாடு) ஆகியவற்றுக்கு என்ன வித்தியாசம்?

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

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

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

VBA இல் ஒரு எளிய பயனர் வரையறுக்கப்பட்ட செயல்பாட்டை உருவாக்குதல்

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

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

செயல்பாட்டு எண்கள்(உரை சரம்) நீண்ட மங்கலானது மற்றும் நீண்ட மங்கலான முடிவு சரம் என ஐ = 1 முதல் லென்(உரை) என்றால் எண் (நடுவு(உரை, i, 1)) பின்னர் முடிவு = முடிவு & நடு(உரை, 1 ) அடுத்த எண்கள் = CLng(முடிவு) இறுதிச் செயல்பாடு

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

இப்போது செயல்பாடு எவ்வாறு செயல்படுகிறது என்பதைப் பார்ப்போம், அதை ஒரு தாளில் பயன்படுத்த முயற்சிப்போம்:

செயல்பாட்டை பகுப்பாய்வு செய்வதற்கு முன், அதன் உருவாக்கத்திற்குப் பிறகு தோன்றிய 2 இனிமையான தருணங்களைக் கவனியுங்கள்:

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

செயல்பாட்டை படிப்படியாக பகுப்பாய்வு செய்வோம்

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

செயல்பாட்டு எண்கள் (உரை சரம்) நீண்டது

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

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

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

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

செயல்பாட்டின் இரண்டாவது மற்றும் மூன்றாவது வரிகள் நாம் பயன்படுத்தும் கூடுதல் உள் மாறிகளை அறிவிக்கின்றன.

டிம் ஐ அஸ் லாங் மங்கலான முடிவு சரம்

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

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

ஐ = 1 டு லென்(உரை)

லென் என்பது எழுத்துகளின் எண்ணிக்கையை நிர்ணயிக்கும் ஒரு செயல்பாடாகும்.

செயல்பாட்டின் முக்கிய வரியானது உரையின் அடுத்த எழுத்து ஒரு எண்ணா என்பதைச் சரிபார்த்து, அப்படியானால், அதை முடிவு மாறியில் சேமிக்கிறது.

IsNumeric(நடுவு(உரை, i, 1)) எனில் முடிவு = முடிவு & நடு(உரை, i, 1)

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

செயல்பாடு நடுஉரை வாதத்திலிருந்து எடுக்கிறது நான்வது எழுத்து (பொருள் 1 , செயல்பாடு என்பதைக் குறிக்கிறது நடு 1 எழுத்து மட்டுமே எடுக்கும்)/

செயல்பாடு அடுத்தது- வளையத்தை மூடுகிறது க்குஇங்கே எல்லாம் தெளிவாக உள்ளது.

எண்கள் = CLng(முடிவு)

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

குறியீட்டின் கடைசி வரி முடிவு செயல்பாடு. செயல்பாட்டுக் குறியீடு இங்கே முடிவடைகிறது என்று VBA க்குக் கூறும் குறியீட்டின் தேவையான வரி இது.

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

முழு எண்ணாக மங்கலான nResult

nMult1 = CInt(InputBox("முதல் எண்ணை உள்ளிடவும்: ")) nMult2 = CInt(InputBox("இரண்டாம் எண்ணை உள்ளிடவும்: ")) nResult = fMultiply(nMult1, nMult2)

தேர்வு. முடிவு தேர்வுக்குப் பிறகு செருகவும்

4. குறியீட்டை கருத்து தெரிவிக்க AutoNew() , இந்த நடைமுறைக்கான அனைத்து குறியீடுகளையும் முன்னிலைப்படுத்தவும் (பொது துணை ஆட்டோநியூ() மற்றும் எண்ட் சப் ) மற்றும் திருத்து கருவிப்பட்டியில் உள்ள கருத்தைத் தடு பொத்தானைக் கிளிக் செய்யவும்.

3.9 உள்ளமைக்கப்பட்ட VBA மொழி செயல்பாடுகள்

3.9.1. உள்ளமைக்கப்பட்ட செயல்பாடுகள் என்ன

IN VBA நிரலாக்க மொழி பல டஜன் வழங்குகிறதுஉள்ளமைக்கப்பட்ட செயல்பாடுகள். அவை VBA மொழியில் எந்த நிரலிலும் கிடைக்கின்றன, மேலும் நாம் எந்த மென்பொருள் தயாரிப்பில் இருக்கிறோம் என்பது முக்கியமல்ல - Excel, Word, Access அல்லது, எடுத்துக்காட்டாக, AutoCAD. அவை மிகவும் சுறுசுறுப்பாகப் பயன்படுத்தப்படுகின்றன, மேலும் பல சூழ்நிலைகளில் அவை இல்லாமல் செய்ய முடியாது. தொழில்முறை புரோகிராமர்கள் அவற்றை முற்றிலும் தானாகப் பயன்படுத்துகிறார்கள், ஆனால் சாதாரண பயனர்கள் அவர்களைத் தெரிந்துகொள்ள பல மணிநேரம் செலவிடுமாறு நான் அறிவுறுத்துகிறேன், ஏனெனில் இந்த செயல்பாடுகளைப் பற்றிய அறிவு இல்லாமல் அவர்கள் VBA இல் திறம்பட செயல்பட முடியாது. அவற்றைப் படிப்பதற்கு ஆதரவான கூடுதல் வாதம் என்னவென்றால், வழக்கமான செயல்பாடுகளில் கிட்டத்தட்ட ஒரே மாதிரியான செயல்பாடுகள் காணப்படுகின்றன காட்சி அடிப்படைமற்றும் VBScript, மற்றும் அதே பெயர்கள் மற்றும் தொடரியல் கொண்ட இந்த செயல்பாடுகளில் பல பிற நிரலாக்க மொழிகளில் காணப்படுகின்றன - C++, Delphi, Java, JavaScript போன்றவை.

IN VBA உதவியில், உள்ளமைக்கப்பட்ட செயல்பாடுகள் கடிதத்தால் தொகுக்கப்படுகின்றன (படம் 3.2).

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

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

அரிசி. 3.2 உள்ளமைக்கப்பட்ட செயல்பாடுகள் உதவி

3.9.2. மாற்றம் மற்றும் தரவு வகை சரிபார்ப்பு செயல்பாடுகள்

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

InputBox() வழியாக பயனரிடமிருந்து மதிப்பைப் பெறும்போது சர மதிப்பிலிருந்து எண் மதிப்பாக மாற்றுதல்;

பயனர்களின் கணினிகளில் பிராந்திய அமைப்புகளைப் பொருட்படுத்தாமல் தேதி அல்லது நேரத்தை நாம் தொடர்ந்து காண்பிக்க வேண்டியிருக்கும் போது, ​​தேதி/நேர மதிப்பை சர மதிப்பாக மாற்றுதல்;

சிறப்பு தேதி/நேர செயல்பாடுகளைப் பயன்படுத்த, ஒரு மதிப்பை ஒரு சரத்திலிருந்து தேதி/நேரமாக மாற்றுகிறது.

பெரும்பாலும், தரவு வகைகளை மாற்ற, செயல்பாடுகள் பயன்படுத்தப்படுகின்றன, அதன் பெயர் முன்னொட்டு "சி" (மாற்று என்ற வார்த்தையிலிருந்து) மற்றும் தரவு வகையின் பெயரைக் கொண்டுள்ளது. இந்த செயல்பாடுகளின் பட்டியல் பின்வருமாறு: CBool(), CByte(), CCur(), CDate(),

CDbl(), CDec(), CInt(), CLng(), CSng(), CStr(), CVar(), CVDate(), CVErr().

TypeName() செயல்பாட்டைப் பயன்படுத்தி இறுதியில் என்ன நடந்தது என்பதை நீங்கள் பார்க்கலாம், இது பயன்படுத்தப்பட்ட தரவு வகையின் பெயரை வழங்குகிறது, எடுத்துக்காட்டாக:

nVar1 = CInt(InputBox("ஒரு மதிப்பை உள்ளிடவும்")) MsgBox TypeName(nVar1)

இந்த வழக்கில், இந்த செயல்பாடு "முழு எண்" .

கூடுதலாக, மாற்றுவதற்கு பயனுள்ள பல செயல்பாடுகள் உள்ளன.

Str() - ஒரு எண் மதிப்பை சரமாக மாற்ற உங்களை அனுமதிக்கிறது. கிட்டத்தட்ட Cstr() போன்ற காரியங்களைச் செய்கிறது, ஆனால் நேர்மறை எண்களுக்கு முன் ஒரு இடத்தைச் செருகும்.

Val() - எண்கள் மற்றும் எழுத்துக்களின் கலவையிலிருந்து ஒரு எண் மதிப்பை மட்டும் "வெளியே இழுக்கிறது". இந்த வழக்கில், செயல்பாடு இடமிருந்து வலமாக தரவைப் படித்து முதல் எண் அல்லாத மதிப்பில் நிறுத்தப்படும் (எண் அல்லாத மதிப்பு புள்ளி மட்டுமே, இது பகுதியிலிருந்து முழுப் பகுதியைப் பிரிக்கும்). எண்ணியல் தரவுகளுடன் குறுக்கிடப்பட்ட அளவீட்டு அலகுகள் அல்லது நாணயங்களை எழுதுவது மிகவும் வசதியானது.

IsNumeric() மற்றும் IsDate() - மாற்றத்தின் போது பிழைகள் எதுவும் ஏற்படாதவாறு நிலைத்தன்மைக்கான மதிப்புகளைச் சரிபார்க்கவும். சிறப்பு மதிப்புகளுடன் இணங்குவதைச் சரிபார்க்க, நீங்கள் IsArray(), IsEmpty(),

IsError(), IsMissing(), IsNull() மற்றும் IsObject() . இந்த செயல்பாடுகள் அனைத்தும் திரும்பும்

அவர்களுக்கு அனுப்பப்பட்ட மதிப்பைச் சரிபார்ப்பதன் முடிவுகளைப் பொறுத்து சரி அல்லது தவறு.

Hex() மற்றும் Oct() - தசமத் தரவை ஹெக்ஸாடெசிமல் மற்றும் ஆக்டல் மதிப்புகளின் சரம் பிரதிநிதித்துவமாக மாற்றவும்.

3.9.3. சரம் செயல்பாடுகள்

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

Asc() - அனுப்பப்பட்ட எழுத்துக்கான எண் குறியீட்டை திருப்பி அனுப்ப இந்த செயல்பாடு உங்களை அனுமதிக்கிறது. எடுத்துக்காட்டாக, Asc("D") 68ஐ வழங்கும். இந்தச் செயல்பாடு அடுத்த அல்லது முந்தைய எழுத்தைத் தீர்மானிக்கப் பயன்படும். இது பொதுவாக Chr() செயல்பாட்டுடன் இணைந்து பயன்படுத்தப்படுகிறது, இது தலைகீழ் செயல்பாட்டைச் செய்கிறது - இது அதன் எண் குறியீட்டின் படி எழுத்தை வழங்குகிறது. எடுத்துக்காட்டாக, எக்செல் இல் உள்ள இந்த குறியீடு A1 முதல் A20 வரையிலான கலங்களில் A முதல் U வரையிலான ரஷ்ய எழுத்துக்களின் எழுத்துக்களை தொடர்ச்சியாக எழுத அனுமதிக்கிறது:

Dim n, nCharCode என முழு எண் n = 1

nCharCode = Asc("A") Do while n<= 20

ActiveWorkbook.ActiveSheet.Range("A" & n).மதிப்பு = Chr(nCharCode)

VBA தொடரியல் மற்றும் நிரலாக்க கட்டமைப்புகள்

nCharCode = nCharCode + 1 லூப்

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

Chr() - ஒரு எழுத்தை அதன் எண் குறியீடு மூலம் வழங்குகிறது. Asc() செயல்பாட்டுடன் இணைந்து பயன்படுத்தப்படுவதைத் தவிர (முந்தைய எடுத்துக்காட்டைப் பார்க்கவும்), இன்னும் ஒரு சூழ்நிலையில் இது இல்லாமல் செய்ய முடியாது: நீங்கள் ஒரு சேவை எழுத்தை வெளியிட வேண்டியிருக்கும் போது. எடுத்துக்காட்டாக, வேர்டில் "காஸ்ப்ரோம்" (மேற்கோள்களில்) மதிப்பைத் தட்டச்சு செய்ய வேண்டும். மேற்கோள் ஒரு சேவை எழுத்து மற்றும் இது போன்ற ஒரு சரத்தைப் பயன்படுத்துவதற்கான முயற்சி:

Selection.Text = ""Gazprom""

தொடரியல் பிழையை ஏற்படுத்தும். இப்படி எல்லாம் சரியாகிவிடும்:

Selection.Text = Chr(34) & "Gazprom" & Chr(34)

இந்த செயல்பாட்டின் மாறுபாடுகள் உள்ளன - ChrB() மற்றும் ChrW(). Asc() செயல்பாட்டிற்கான அதே விருப்பங்களைப் போலவே அவை செயல்படுகின்றன.

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

Left() , Right() , Mid() - முறையே இடது, வலது அல்லது நடுவில் இருக்கும் சரம் மாறியிலிருந்து நீங்கள் குறிப்பிடும் எழுத்துகளின் எண்ணிக்கையை எடுக்க அனுமதிக்கிறது.

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

LCase() மற்றும் UCase() - ஒரு சரத்தை முறையே கீழ் மற்றும் பெரிய எழுத்துக்கு மாற்றவும். வழக்கு முக்கியமில்லாதபோது (குடும்பப்பெயர்கள், நிறுவனங்களின் பெயர்கள், நகரங்கள் போன்றவை) ஒப்பிடுவதற்கு மதிப்புகளைத் தயாரிக்க பெரும்பாலும் பயன்படுத்தப்படுகிறது.

LSet() மற்றும் RSet() - ஒரு மாறியை அதன் நீளத்தை (முறையே இடது மற்றும் வலது) மாற்றாமல் மற்றொன்றின் குறியீடுகளால் நிரப்பவும். கூடுதல் எழுத்துகள் துண்டிக்கப்பட்டு, விடுபட்ட எழுத்துகளுக்கு இடங்கள் மாற்றப்படுகின்றன.

LTrim() , RTrim() , Trim() - முறையே இடது, வலது, அல்லது இடது மற்றும் வலது இரண்டிலிருந்து இடைவெளிகளை அகற்றவும்.

Replace() - ஒரு சரத்தில் உள்ள எழுத்துக்களின் வரிசையை மற்றொன்றுடன் மாற்றுகிறது.

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

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

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

தொடரியல்:

செயல்பாட்டின் பெயர்()
"VBA அறிக்கைகள்
முடிவு செயல்பாடு

செயல்பாடு என்பது ஒரு செயல்பாட்டின் தொடக்கத்தை அறிவிக்கும் ஒரு முக்கிய சொல்.

பெயர் - செயல்பாடு பெயர். செயல்பாட்டுப் பெயர்கள் மற்ற VBA அடையாளங்காட்டி பெயர்களைப் போலவே அதே விதிகளைப் பின்பற்றுகின்றன.

Arglist - இந்த செயல்பாட்டிற்கான வாதங்களின் பட்டியல், விருப்ப உறுப்பு.

வகை - எந்த வகையான செயல்பாடு திரும்பும் மதிப்பு. வகை வரையறுக்கப்படவில்லை என்றால், செயல்முறை செயல்பாட்டின் மூலம் கிடைக்கும் முடிவு வகை மாறுபாட்டின் வகையாகும்.

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

முடிவு செயல்பாடு - ஒரு செயல்பாட்டை முடிக்கும் முக்கிய வார்த்தைகள்.


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

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


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



செயல்பாட்டைப் பயன்படுத்தாமல், பட்டியல் இப்படி இருக்கும்:



இந்த எளிய எடுத்துக்காட்டில் இருந்து, செயல்முறை செயல்பாடுகளைப் பயன்படுத்துவதற்கான முக்கிய யோசனை தெளிவாக இருப்பதாக நான் நினைக்கிறேன் - நிரல் குறியீட்டின் வாசிப்புத்திறனை மேம்படுத்துதல் மற்றும் அதைக் குறைத்தல் (வேறுவிதமாகக் கூறினால், அதே "துண்டு" குறியீடு 2 க்கு மேல் நிகழும்போது ஒரு செயல்முறை செயல்பாடு எழுதப்படுகிறது. நிரல் குறியீட்டில் -3 முறை). உண்மையில், எங்கள் செயல்முறை செயல்பாடு ஒரு வரி அல்ல, ஆனால், 10 வரிகளைக் கொண்டிருந்தால்; நிரல் குறியீடு இந்த செயல்முறை செயல்பாட்டை 5 முறை பயன்படுத்தும், பின்னர் ஒட்டுமொத்த நிரல் பட்டியல் 38 வரிகள் குறைவாக இருக்கும்.


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

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

இந்த செயல்பாடுகளின் பட்டியலை VBA எடிட்டரில் பார்க்கலாம்:

  • எக்செல் பணிப்புத்தகத்தைத் திறந்து VBA எடிட்டரைத் தொடங்கவும் (இங்கே கிளிக் செய்யவும் Alt+F11), பின்னர் கிளிக் செய்யவும் F2.
  • திரையின் மேல் இடதுபுறத்தில் உள்ள கீழ்தோன்றும் பட்டியலில் இருந்து நூலகத்தைத் தேர்ந்தெடுக்கவும் VBA.
  • உள்ளமைக்கப்பட்ட VBA வகுப்புகள் மற்றும் செயல்பாடுகளின் பட்டியல் தோன்றும். சாளரத்தின் கீழே ஒரு சுருக்கமான விளக்கத்தைக் காட்ட, செயல்பாட்டின் பெயரைக் கிளிக் செய்யவும். அழுத்துகிறது F1அந்தச் செயல்பாட்டிற்கான ஆன்லைன் உதவிப் பக்கத்தைத் திறக்கும்.

கூடுதலாக, உள்ளமைக்கப்பட்ட VBA செயல்பாடுகளின் முழுமையான பட்டியலை எடுத்துக்காட்டுகளுடன் விஷுவல் பேசிக் டெவலப்பர் சென்டர் இணையதளத்தில் காணலாம்.

VBA இல் தனிப்பயன் செயல்பாடு மற்றும் துணை நடைமுறைகள்

எக்செல் விஷுவல் பேசிக்கில், ஒரு குறிப்பிட்ட பணியைச் செய்யும் கட்டளைகளின் தொகுப்பு ஒரு செயல்முறையில் வைக்கப்படுகிறது செயல்பாடு(செயல்பாடு) அல்லது துணை(சப்ரூடின்). நடைமுறைகளுக்கு இடையிலான முக்கிய வேறுபாடு செயல்பாடுமற்றும் துணைஅதுதான் நடைமுறை செயல்பாடுமுடிவு, செயல்முறை துணை- இல்லை.

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

வாதங்கள்

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

Sub AddToCells(i as Integer) ... துணை முடிவு

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

விருப்ப வாதங்கள்

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

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

துணை AddToCells(விரும்பினால் நான் முழு எண்ணாக = 0)

இந்த வழக்கில், முழு எண் வாதம் நான்இயல்புநிலை 0 ஆக இருக்கும்.

ஒரு செயல்முறையில் பல விருப்ப வாதங்கள் இருக்கலாம்; அவை அனைத்தும் வாதப் பட்டியலின் முடிவில் பட்டியலிடப்பட்டுள்ளன.

மதிப்பு மற்றும் குறிப்பு மூலம் வாதங்களை அனுப்புதல்

VBA இல் உள்ள வாதங்கள் இரண்டு வழிகளில் ஒரு செயல்முறைக்கு அனுப்பப்படலாம்:

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

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

VBA இல் உள்ள வாதங்கள் முன்னிருப்பாக குறிப்பு மூலம் அனுப்பப்படும் என்பதை நினைவில் கொள்ளுங்கள். வேறு வார்த்தைகளில் கூறுவதானால், முக்கிய வார்த்தைகள் பயன்படுத்தப்படவில்லை என்றால் ByValஅல்லது ByRef, பின்னர் வாதம் குறிப்பு மூலம் அனுப்பப்படும்.

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

VBA செயல்முறை "செயல்பாடு"

VBA எடிட்டர் செயல்முறையை அங்கீகரிக்கிறது செயல்பாடு

செயல்பாடு... முடிவு செயல்பாடு

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

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

இது பின்வரும் எடுத்துக்காட்டில் சரியாக விளக்கப்பட்டுள்ளது.

VBA செயல்முறையின் எடுத்துக்காட்டு "செயல்பாடு": 3 எண்களுடன் ஒரு கணித செயல்பாட்டைச் செய்தல்

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

செயல்பாடு SumMinus(dNum1 இரட்டை, dNum2 இரட்டை, dNum3 இரட்டை) இரட்டை SumMinus = dNum1 + dNum2 - dNum3 இறுதி செயல்பாடு

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

VBA செயல்முறையை "செயல்பாடு" என்று அழைக்கிறது

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

மற்றொரு செயல்முறையிலிருந்து VBA செயல்முறையை "செயல்பாடு" என்று அழைக்கிறது

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

துணை முக்கிய() மங்கலான மொத்தம் இரட்டை மொத்தமாக = SumMinus(5, 4, 3) இறுதி துணை

ஒரு பணித்தாளில் இருந்து VBA செயல்முறையை "செயல்பாடு" என்று அழைக்கிறது

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

SumMinus(10, 5, 2)

VBA செயல்முறை "துணை"

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

சப்...எண்ட் சப்

VBA செயல்முறை "துணை": எடுத்துக்காட்டு 1. தேர்ந்தெடுக்கப்பட்ட கலங்களின் வரம்பில் மைய சீரமைப்பு மற்றும் எழுத்துரு அளவை மாற்றுதல்

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

துணை Format_Centered_And_Sized(விரும்பினால் iFontSize என முழு எண் = 10) தேர்வு

இந்த நடைமுறை துணைசெயல்களைச் செய்கிறது ஆனால் முடிவுகளைத் தராது.

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

VBA செயல்முறை “துணை”: எடுத்துக்காட்டு 2. மையச் சீரமைப்பு மற்றும் தேர்ந்தெடுக்கப்பட்ட கலங்களின் வரம்பில் எழுத்துருவில் தடிமனாகப் பயன்படுத்துதல்

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

துணை வடிவமைப்பு_Centered_And_Bold() தேர்வு

Excel VBA இல் "துணை" செயல்முறையை அழைக்கிறது

மற்றொரு நடைமுறையிலிருந்து VBA செயல்முறையை "சப்" என்று அழைக்கிறது

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

துணை முதன்மை() அழைப்பு Format_Centered_And_Sized(20) End Sub

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

துணை முதன்மை() அழைப்பு Format_Centered_And_Sized(arg1, arg2, ...) துணை முடிவு

ஒரு பணித்தாளில் இருந்து VBA செயல்முறையை "சப்" என்று அழைக்கிறது

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

செயல்முறையை இயக்க (அல்லது செயல்படுத்த) எளிய வழி இங்கே துணை, பணித்தாளில் கிடைக்கும்:

  • கிளிக் செய்யவும் Alt+F8(விசையை அழுத்தவும் Altமற்றும், அதை கீழே வைத்திருக்கும் போது, ​​விசையை அழுத்தவும் F8).
  • தோன்றும் மேக்ரோக்களின் பட்டியலில், நீங்கள் இயக்க விரும்பும் ஒன்றைத் தேர்ந்தெடுக்கவும்.
  • கிளிக் செய்யவும் செயல்படுத்த(ஓடு)

செயல்முறை செய்ய துணைவிரைவாகவும் எளிதாகவும், நீங்கள் அதற்கு ஒரு முக்கிய கலவையை ஒதுக்கலாம். இதற்காக:

  • கிளிக் செய்யவும் Alt+F8.
  • தோன்றும் மேக்ரோக்களின் பட்டியலில், நீங்கள் விசைப்பலகை குறுக்குவழியை ஒதுக்க விரும்பும் ஒன்றைத் தேர்ந்தெடுக்கவும்.
  • கிளிக் செய்யவும் விருப்பங்கள்(விருப்பங்கள்) மற்றும் தோன்றும் உரையாடல் பெட்டியில் விசைப்பலகை குறுக்குவழியை உள்ளிடவும்.
  • கிளிக் செய்யவும் சரிமற்றும் உரையாடல் பெட்டியை மூடவும் மேக்ரோ(மேக்ரோ).

கவனம்:மேக்ரோவிற்கு விசைப்பலகை குறுக்குவழியை ஒதுக்கும் போது, ​​எக்செல் (உதாரணமாக, Ctrl+C) நீங்கள் ஏற்கனவே உள்ள விசைப்பலகை குறுக்குவழியைத் தேர்ந்தெடுத்தால், அது மேக்ரோவிற்கு மறுஒதுக்கீடு செய்யப்படும், இதன் விளைவாக, பயனர் தற்செயலாக மேக்ரோவைத் தூண்டலாம்.

VBA செயல்முறை நோக்கம்

இந்த டுடோரியலின் பகுதி 2 மாறிகள் மற்றும் மாறிலிகளின் நோக்கம் மற்றும் முக்கிய வார்த்தைகளின் பங்கு பற்றிய தலைப்பைப் பற்றி விவாதித்தது. பொதுமற்றும் தனியார். இந்த முக்கிய வார்த்தைகளை VBA நடைமுறைகள் தொடர்பாகவும் பயன்படுத்தலாம்:

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

VBA நடைமுறைகள் "செயல்பாடு" மற்றும் "துணை" ஆகியவற்றிலிருந்து முன்கூட்டியே வெளியேறுதல்

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

செயல்பாடு VAT_Amount(sVAT_Rate as Single) Single VAT_Amount = 0 என்றால் sVAT_Rate<= 0 Then MsgBox "Expected a Positive value of sVAT_Rate but Received " & sVAT_Rate Exit Function End If ... End Function

செயல்முறையை முடிப்பதற்கு முன் என்பதை நினைவில் கொள்க செயல்பாடுVAT_தொகை, ஒரு உள்ளமைக்கப்பட்ட VBA செயல்பாடு குறியீட்டில் செருகப்பட்டது MsgBox, இது பயனருக்கு பாப்-அப் எச்சரிக்கை சாளரத்தைக் காட்டுகிறது.

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

கணித இயக்கிகள்

அடிப்படை VBA கணித ஆபரேட்டர்கள் கீழே உள்ள அட்டவணையில் பட்டியலிடப்பட்டுள்ளன.

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

சரம் ஆபரேட்டர்கள்

எக்செல் விபிஏவில் உள்ள முக்கிய சரம் ஆபரேட்டர் இணைப்பு ஆபரேட்டர் & (ஒன்றிணைத்தல்):

ஒப்பீட்டு ஆபரேட்டர்கள்

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

தருக்க ஆபரேட்டர்கள்

லாஜிக்கல் ஆபரேட்டர்கள், ஒப்பீட்டு ஆபரேட்டர்கள், வகையின் பூலியன் மதிப்பை வழங்கும் பூலியன்(சரியா தவறா). அடிப்படை Excel VBA தருக்க ஆபரேட்டர்கள் கீழே உள்ள அட்டவணையில் பட்டியலிடப்பட்டுள்ளன:

மேலே உள்ள அட்டவணை VBA இல் கிடைக்கும் அனைத்து பூலியன் ஆபரேட்டர்களையும் பட்டியலிடவில்லை. லாஜிக்கல் ஆபரேட்டர்களின் முழுமையான பட்டியலை விஷுவல் பேசிக் டெவலப்பர் மையத்தில் காணலாம்.

உள்ளமைக்கப்பட்ட செயல்பாடுகள்

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

செயல்பாடு செயல்
ஏபிஎஸ் கொடுக்கப்பட்ட எண்ணின் முழுமையான மதிப்பை வழங்கும்.
  • ஏபிஎஸ்(-20)மதிப்பு 20 ஐ வழங்குகிறது;
  • ஏபிஎஸ்(20)மதிப்பு 20 ஐ வழங்குகிறது.
Chr அளவுருவின் எண் மதிப்புடன் தொடர்புடைய ANSI எழுத்தை வழங்குகிறது.
  • Chr(10)வரி முறிவு திரும்புகிறது;
  • Chr(97)பாத்திரத்தை திருப்பித் தருகிறது .
தேதி தற்போதைய கணினி தேதியை வழங்குகிறது.
தேதிசேர்ப்பு கொடுக்கப்பட்ட தேதியில் குறிப்பிட்ட நேர இடைவெளியைச் சேர்க்கிறது. செயல்பாட்டு தொடரியல்:

தேதிசேர்ப்பு( இடைவெளி , எண் , தேதி )

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

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

  • DateAdd(“d”, 32, “01/01/2015”) 01/01/2015 தேதியுடன் 32 நாட்களைச் சேர்த்தால், 02/02/2015 தேதியை வழங்குகிறது.
  • DateAdd(“ww”, 36, “01/01/2015”) 01/01/2015 தேதியுடன் 36 வாரங்களைச் சேர்த்து, 09/09/2015 தேதியை வழங்குகிறது.
DateDiff கொடுக்கப்பட்ட இரண்டு தேதிகளுக்கு இடையே உள்ள குறிப்பிட்ட நேர இடைவெளிகளின் எண்ணிக்கையைக் கணக்கிடுகிறது.
  • DateDiff("d", "01/01/2015", "02/02/2015") 01/01/2015 மற்றும் 02/02/2015 தேதிகளுக்கு இடைப்பட்ட நாட்களின் எண்ணிக்கையைக் கணக்கிட்டு, முடிவு 32ஐ வழங்குகிறது.
  • DateDiff("ww", "01/01/2015", "03/03/2016") 01/01/2015 மற்றும் 03/03/2016 தேதிகளுக்கு இடையிலான வாரங்களின் எண்ணிக்கையைக் கணக்கிடுகிறது, இதன் விளைவாக 61 ஐ வழங்குகிறது.
நாள் கொடுக்கப்பட்ட தேதியில் மாதத்தின் நாளுடன் தொடர்புடைய முழு எண்ணை வழங்குகிறது.

உதாரணமாக: நாள்(“01/29/2015”) 29 என்ற எண்ணை வழங்குகிறது.

மணி கொடுக்கப்பட்ட நேரத்தின் எண்ணிக்கையுடன் தொடர்புடைய முழு எண்ணை வழங்குகிறது.

உதாரணமாக: மணி (“22:45:00”) 22 என்ற எண்ணை வழங்குகிறது.

InStr ஒரு முழு எண் மற்றும் இரண்டு சரங்களை வாதங்களாக எடுத்துக்கொள்கிறது. முழு எண்ணால் குறிப்பிடப்பட்ட நிலையில் தேடலைத் தொடங்கி, முதல் சரத்தின் நிகழ்வின் நிலையை வழங்குகிறது.
  • InStr(1, "நீங்கள் தேடும் சொல்", "வார்த்தை") 13 என்ற எண்ணை வழங்குகிறது.
  • InStr(14, “தேடல் வார்த்தை இதோ, இதோ மற்றொரு தேடல் சொல்”, “வார்த்தை”) 38 என்ற எண்ணை வழங்குகிறது.

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

Int கொடுக்கப்பட்ட எண்ணின் முழு எண் பகுதியை வழங்குகிறது.

உதாரணமாக: எண்ணாக (5.79)முடிவைத் தருகிறது 5.

தேதி திரும்புகிறது உண்மைகொடுக்கப்பட்ட மதிப்பு ஒரு தேதியாக இருந்தால், அல்லது பொய்- அது ஒரு தேதி இல்லை என்றால்.
  • IsDate(“01/01/2015”)திரும்புகிறது உண்மை;
  • IsDate(100)திரும்புகிறது பொய்.
பிழை திரும்புகிறது உண்மை, கொடுக்கப்பட்ட மதிப்பு பிழையாக இருந்தால், அல்லது பொய்- அது ஒரு பிழை இல்லை என்றால்.
விடுபட்ட ஒரு விருப்ப செயல்முறை வாதத்தின் பெயர் செயல்பாட்டிற்கு ஒரு வாதமாக அனுப்பப்படுகிறது. விடுபட்டதிரும்புகிறது உண்மை, கேள்விக்குரிய செயல்முறை வாதத்திற்கு எந்த மதிப்பும் அனுப்பப்படவில்லை என்றால்.
எண்கள் திரும்புகிறது உண்மைகொடுக்கப்பட்ட மதிப்பை எண்ணாகக் கருதினால், இல்லையெனில் திரும்பும் பொய்.
விட்டு அனுப்பப்பட்ட சரத்தின் தொடக்கத்திலிருந்து குறிப்பிட்ட எண்ணிக்கையிலான எழுத்துகளை வழங்குகிறது. செயல்பாட்டின் தொடரியல் இது:

இடது( வரி , நீளம் )

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

  • இடது ("abvgdezziklmn", 4)"abvg" என்ற சரத்தை வழங்குகிறது;
  • இடது ("abvgdezziklmn", 1)"a" என்ற சரத்தை வழங்குகிறது.
லென் ஒரு சரத்தில் உள்ள எழுத்துகளின் எண்ணிக்கையை வழங்குகிறது.

உதாரணமாக: லென் ("abvgdez")எண் 7 ஐ வழங்குகிறது.

மாதம் கொடுக்கப்பட்ட தேதியில் மாதத்துடன் தொடர்புடைய முழு எண்ணை வழங்குகிறது.

உதாரணமாக: மாதம்(“01/29/2015”)மதிப்பு 1 ஐ வழங்குகிறது.

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

நடு( வரி , தொடங்கு , நீளம் )

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

  • நடு (“abvgdezziklmn”, 4, 5)"எங்கே" என்ற சரத்தை வழங்குகிறது;
  • நடு (“abvgdezziklmn”, 10, 2)"cl" என்ற சரத்தை வழங்குகிறது.
நிமிடம் ஒரு குறிப்பிட்ட நேரத்தில் நிமிடங்களின் எண்ணிக்கையுடன் தொடர்புடைய முழு எண்ணை வழங்குகிறது. எடுத்துக்காட்டு: நிமிடம்(“22:45:15”)மதிப்பு 45 ஐ வழங்குகிறது.
இப்போது தற்போதைய கணினி தேதி மற்றும் நேரத்தை வழங்குகிறது.
சரி அனுப்பப்பட்ட சரத்தின் முடிவில் இருந்து குறிப்பிட்ட எண்ணிக்கையிலான எழுத்துக்களை வழங்குகிறது. செயல்பாட்டு தொடரியல்:

வலது( வரி , நீளம் )

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

  • வலது ("abvgdezziklmn", 4)"clmn" என்ற சரத்தை வழங்குகிறது;
  • வலது ("abvgdezziklmn", 1)"n" சரத்தை வழங்குகிறது.
இரண்டாவது கொடுக்கப்பட்ட நேரத்தில் உள்ள வினாடிகளின் எண்ணிக்கையுடன் தொடர்புடைய முழு எண்ணை வழங்குகிறது.

உதாரணமாக: இரண்டாவது (“22:45:15”)மதிப்பு 15 ஐ வழங்குகிறது.

சதுர மதிப்புருவாக அனுப்பப்பட்ட எண் மதிப்பின் வர்க்க மூலத்தை வழங்குகிறது.
  • சதுர(4)மதிப்பு 2 ஐ வழங்குகிறது;
  • சதுர (16)மதிப்பு 4 ஐ வழங்குகிறது.
நேரம் தற்போதைய கணினி நேரத்தை வழங்குகிறது.
புறப்பட்ட குறிப்பிட்ட அணிவரிசையின் பரிமாணத்தின் சூப்பர்ஸ்கிரிப்டை வழங்கும்.

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