VBA சரம் வரிசை | எக்செல் விபிஏவில் சரம் வரிசையை எவ்வாறு அறிவிப்பது மற்றும் தொடங்குவது?

எக்செல் விபிஏ சரம் வரிசை

VBA இல், சரம் வரிசை என்பது ஒரு வரிசை மாறியைத் தவிர வேறொன்றுமில்லை, இது ஒரு மாறியுடன் ஒன்றுக்கு மேற்பட்ட சரம் மதிப்பைக் கொண்டிருக்க முடியும்.

எடுத்துக்காட்டாக, கீழே உள்ள VBA குறியீட்டைப் பாருங்கள்.

குறியீடு:

 துணை சரம்_அரே_உதவி () மங்கலான நகர பட்டியல் (1 முதல் 5 வரை) மாறுபட்ட நகர பட்டியலாக (1) = "பெங்களூர்" நகர பட்டியல் (2) = "மும்பை" நகர பட்டியல் (3) = "கொல்கத்தா" நகர பட்டியல் (4) = "ஹைதராபாத்" நகர பட்டியல் (5) = "ஒரிசா" MsgBox சிட்டிலிஸ்ட் (1) & "," & சிட்டிலிஸ்ட் (2) & "," & சிட்டிலிஸ்ட் (3) & "," & சிட்டிலிஸ்ட் (4) & "," & சிட்டிலிஸ்ட் (5) எண்ட் சப் 

மேலே உள்ள குறியீட்டில், நான் வரிசை மாறியாக அறிவித்து, ஒரு வரிசையின் நீளத்தை 1 முதல் 5 வரை ஒதுக்கியுள்ளேன்.

 டிம் சிட்டிலிஸ்ட் (1 முதல் 5 வரை) மாறுபாடாக 

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

சிட்டிலிஸ்ட் (1) = "பெங்களூர்" சிட்டிலிஸ்ட் (2) = "மும்பை" சிட்டிலிஸ்ட் (3) = "கொல்கத்தா" சிட்டிலிஸ்ட் (4) = "ஹைதராபாத்" சிட்டிலிஸ்ட் (5) = "ஒரிசா"

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

MsgBox CityList (1) & "," & CityList (2) & "," & CityList (3) & "," & CityList (4) & "," & CityList (5)

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

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

எக்செல் விபிஏவில் சரம் வரிசைக்கான எடுத்துக்காட்டுகள்

எக்செல் விபிஏ சரம் வரிசையின் எடுத்துக்காட்டுகள் கீழே.

இந்த VBA சரம் வரிசை எக்செல் வார்ப்புருவை இங்கே பதிவிறக்கம் செய்யலாம் - VBA சரம் வரிசை எக்செல் வார்ப்புரு

எடுத்துக்காட்டு # 1

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

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

குறியீடு:

 துணை சரம்_அரே_உதவி 1 () மங்கலான நகர பட்டியல் () மாறுபாடு முடிவு துணை 

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

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

குறியீடு:

 துணை சரம்_அரே_உருவாக்கம் () மங்கலான நகர பட்டியல் () மாறுபடும் நகர பட்டியல் = வரிசை ("பெங்களூர்", "மும்பை", "கொல்கத்தா", "ஹைதராபாத்", "ஒரிசா") முடிவு துணை 

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

குறியீடு:

 துணை சரம்_அரே_உதவி 1 () மங்கலான நகர பட்டியல் () மாறுபாடு சிட்டிலிஸ்ட் = வரிசை ("பெங்களூர்", "மும்பை", "கொல்கத்தா", "ஹைதராபாத்", "ஒரிசா") MsgBox சிட்டிலிஸ்ட் (0) & "," & சிட்டிலிஸ்ட் (1) & " , "& சிட்டிலிஸ்ட் (2) &", "& சிட்டிலிஸ்ட் (3) &", "& சிட்டிலிஸ்ட் (4) எண்ட் சப் 

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

எனவே, மதிப்புகளை நாம் குறிப்பிட்டதற்கு இதுவே காரணம் சிட்டிலிஸ்ட் (0), கிளிட்டிலிஸ்ட் (1), சிட்டிலிஸ்ட் (2), சிட்டிலிஸ்ட் (3), சிட்டிலிஸ்ட் (4).

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

எடுத்துக்காட்டு # 2

LBOUND & UBOUND செயல்பாடுகளுடன் VBA சரம் வரிசை

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

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

அடுத்த வட்டத்திற்கு நாம் திறக்கும்போது, ​​சூழ்நிலையைப் பொறுத்து லூப் நீளத்தை 1 முதல் 5 அல்லது 1 முதல் 10 என வழக்கமாக தீர்மானிக்கிறோம். எண்களை கைமுறையாக உள்ளிடுவதற்கு பதிலாக, குறைந்த மதிப்பு மற்றும் மேல் மதிப்பை தானாகவே தீர்மானிக்க LBOUND மற்றும் UBOUND செயல்பாட்டைப் பயன்படுத்தலாம்.

LBound மற்றும் Ubound க்கு நான் வரிசை பெயரை வழங்கியுள்ளேன், அதாவது சிட்டிலிஸ்ட். VBA LBound வரிசை மாறியின் குறைந்த மதிப்பை அடையாளம் காட்டுகிறது மற்றும் VBA UBound செயல்பாடு வரிசை மாறியின் மேல் மதிப்பை அடையாளம் காட்டுகிறது.

இப்போது செய்தி பெட்டியில் மதிப்பைக் காண்பி, வரிசை எண்ணைச் செருகுவதற்கு பதிலாக, லூப் மாறி “k” வரிசை மதிப்பை தானாக எடுக்கட்டும்.

குறியீடு:

 துணை சரம்_அரே_எக்சாம்பிள் 1 () டிம் சிட்டிலிஸ்ட் () மாறுபாடு டிம் கே என இன்டீஜர் சிட்டிலிஸ்ட் = வரிசை ("பெங்களூர்", "மும்பை", "கொல்கத்தா", "ஹைதராபாத்", "ஒரிசா") MsgBox CityList (k) அடுத்த k முடிவு துணை 

இப்போது செய்தி பெட்டி ஒவ்வொரு நகரத்தின் பெயரையும் தனித்தனியாகக் காண்பிக்கும்.

எடுத்துக்காட்டு # 3

பிளவு செயல்பாட்டுடன் VBA சரம் வரிசை

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

பெங்களூர்; மும்பை; கொல்கத்தா; ஹைட்ராபாத்; ஒரிசா

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

க்கு வெளிப்பாடு நகர பட்டியலை வழங்கவும்.

குறியீடு:

 சப் ஸ்ட்ரிங்_அரே_எக்சாம்பிள் 2 () டிம் சிட்டிலிஸ்ட் () ஸ்ட்ரிம் டிம் கே என இன்டீஜர் சிட்டிலிஸ்ட் = ஸ்ப்ளிட் ("பெங்களூர்; மும்பை; கொல்கத்தா; ஹைட்ராபாத்; ஒரிசா", கே = எல்பவுண்ட் (சிட்டிலிஸ்ட்) க்கு யூபவுண்ட் (சிட்டிலிஸ்ட்) துணை 

அடுத்த வாதம் “டிலிமிட்டர்” அதாவது ஒவ்வொரு நகரத்தையும் மற்ற நகரங்களிலிருந்து பிரிக்கும் ஒரு தன்மை என்ன, இந்த விஷயத்தில் “பெருங்குடல்”.

குறியீடு:

 சப் ஸ்ட்ரிங்_அரே_எக்சாம்பிள் 2 () டிம் சிட்டிலிஸ்ட் () ஸ்ட்ரிங் டிம் கே என இன்டீஜர் சிட்டிலிஸ்ட் = ஸ்பிளிட் ("பெங்களூர்; மும்பை; கொல்கத்தா; ஹைட்ராபாத்; ஒரிசா", ";") கே = எல்பவுண்ட் (சிட்டிலிஸ்ட்) க்கு யூபவுண்ட் (சிட்டிலிஸ்ட்) ) அடுத்த கே எண்ட் சப் 

இப்போது SPLIT செயல்பாடு பிளவு மதிப்புகள் மிக உயர்ந்த வரிசை நீளத்தையும் தீர்மானிக்கிறது.

நினைவில் கொள்ள வேண்டிய விஷயங்கள்

  • LBOUND மற்றும் UBOUND ஆகியவை வரிசை நீளங்களை தீர்மானிக்க செயல்பாடுகள்.
  • ARRAY செயல்பாடு அறிவிக்கப்பட்ட மாறிக்கு பல மதிப்புகளைக் கொண்டிருக்கலாம்.
  • ஒருமுறை நீங்கள் ARRAY செயல்பாட்டைப் பயன்படுத்த விரும்பினால் வரிசை நீளத்தை தீர்மானிக்க வேண்டாம்.