எக்செல் மேக்ரோஸில் மாறிகள் மற்றும் மாறிலிகளைப் புரிந்துகொள்வது

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

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

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

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

தரவு வகைகள்

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

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

மாறிலிகள் மற்றும் மாறிகளை அறிவித்தல்

முதலில் அறிவிக்காமல் தரவுக் கொள்கலனைப் பயன்படுத்துவது கடுமையாக ஊக்கமளிக்கப்படுகிறது. பின்னர் பல சிக்கல்கள் எழலாம், அதைத் தவிர்க்க மாறிகள் அல்லது மாறிலிகளின் எண்ணிக்கையுடன் சில சிறிய வரிகளை எழுதுவது அவசியம்.

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

மங்கலான மாறி_பெயர் முழு எண்ணாக

Variable_Name என்பது மாறியின் பெயர். அடுத்து, As operator எழுதப்பட்டு, தரவு வகையைக் குறிக்கிறது. "Variable_Name" மற்றும் "Integer" என்ற சரங்களுக்கு பதிலாக, உங்கள் சொந்த பெயரையும் தரவு வகையையும் செருகலாம்.

மாறிலிகளும் அறிவிக்கப்படலாம், ஆனால் நீங்கள் முதலில் அவற்றின் மதிப்பைக் குறிப்பிட வேண்டும். விருப்பங்களில் ஒன்று:

கான்ஸ்ட் iMaxCount = 5000

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

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

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

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

  1. கோடுகள் காலியாக உள்ளன.
  2. எண்கள் மதிப்பை 0 எடுக்கின்றன.
  3. பூலியன் வகையின் மாறிகள் ஆரம்பத்தில் தவறானதாகக் கருதப்படுகின்றன.
  4. இயல்பு தேதி டிசம்பர் 30, 1899.

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

விருப்பம் வெளிப்படையான அறிக்கை

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

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

  1. பாதையில் மேம்பாட்டு சூழலுக்குச் செல்லவும் - கருவிகள் > விருப்பங்கள்.
  2. அதன் பிறகு திறக்கும் விண்டோவில் எடிட்டர் டேப்பை திறக்கவும்.
  3. இறுதியாக, தேவை மாறி அறிவிப்பு உருப்படிக்கு அடுத்த பெட்டியை சரிபார்க்கவும்.

இந்த படிகள் முடிந்ததும், "சரி" பொத்தானைக் கிளிக் செய்யவும். 

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

மாறிலிகள் மற்றும் மாறிகளின் நோக்கம்

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

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

விருப்பம் வெளிப்படையானது

மங்கலான sVAT_ரேட் ஒற்றை

செயல்பாடு மொத்த_செலவு() இரட்டிப்பாகும்

.

.

.

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

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

மேலும், நடைமுறைகளில் ஒன்று மாறியின் மதிப்பை மாற்றினால், அடுத்தது இந்த திருத்தப்பட்ட மதிப்பையும் படிக்கும். ஆனால் மற்ற தொகுதிகளில் இந்த மாறி இன்னும் படிக்கப்படாது.

விருப்பம் வெளிப்படையானது

செயல்பாடு மொத்த_செலவு() இரட்டிப்பாகும்

மங்கலான sVAT_ரேட் ஒற்றை

   .

   .

   .

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

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

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

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

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

விருப்பம் வெளிப்படையானது

பொது sVAT_ரேட் ஒற்றை

பொது கான்ஸ்ட் iMax_Count = 5000

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

தனிப்பட்ட sVAT_ரேட் ஒற்றை

தனிப்பட்ட கான்ஸ்ட் iMax_Count = 5000

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

மாறிகள் மற்றும் மாறிகள் ஏன் தேவைப்படுகின்றன

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

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

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

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

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

ஆம், இந்த சூழ்நிலையில் கருத்துகளை நீங்கள் செய்யலாம், ஆனால் கான்ஸ்ட் என்ற வார்த்தையை குறிப்பிடுவது எளிதானது அல்லவா?

முடிவுகளை

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

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

ஒரு பதில் விடவும்