உள்ளடக்க அட்டவணை
வரிசை என்பது ஒரே மாதிரியான தரவை வைத்திருக்கும் ஒரு மாறியாகும். ஒரே ஒரு வரிசை அல்லது ஒரு நெடுவரிசை தரவு இருந்தால், அது ஒரு பரிமாண வரிசை எனப்படும். இருப்பினும், ஒன்றுக்கு மேற்பட்ட வரிசைகள் மற்றும் நெடுவரிசைகள் இருந்தால், அது 2D வரிசை என்று அழைக்கப்படுகிறது. VBA இல் ஒரு வரிசையின் அளவை மாற்ற ReDim ஐப் பயன்படுத்துகிறோம். கூடுதலாக, பழைய தரவை அப்படியே வைத்திருக்க Preserve முக்கிய சொல்லை ReDim பயன்படுத்துகிறோம். இந்தக் கட்டுரை 2 விரைவான வழிகளைக் காண்பிக்கும் “ ReDim Preserve ” 2D array in Excel VBA .
பயிற்சிப் புத்தகத்தைப் பதிவிறக்கவும்
மேக்ரோ டு ரீடிம் ப்ரிசர்வ் 2D.xlsm
2 எளிதான அணுகுமுறைகள் ReDim Preserve 2D Array in Excel VBA
இது மூன்று வரிசைகள் மற்றும் இரண்டு நெடுவரிசைகளுடன் 2D வரிசை யிலிருந்து உருவாக்கப்பட்ட அடிப்படை தரவுத்தொகுப்பு. முதலில், இந்த வரிசையை உருவாக்குவோம். பின்னர், இந்த வரிசையில் மற்றொரு நிரலைச் சேர்ப்போம். அவ்வாறு செய்ய “ ReDim Preserve ”ஐப் பயன்படுத்துவோம். கூடுதலாக, இதைப் பயன்படுத்தாவிட்டால் என்ன நடக்கும் என்பதை நாங்கள் விளக்குவோம்.
இயல்புநிலையாக, அணிவரிசையின் கடைசி பரிமாணத்தை (அதாவது நெடுவரிசைகள் அல்லது மேல் வரம்பு) மட்டுமே மறுஅளவிட முடியும். எக்செல் VBA இல் 2D வரிசை யின் இரு பரிமாணங்களையும் மறுஅளவாக்க, வரிசையை மாற்றி, கடைசி பரிமாணத்தை மாற்றுவோம்.
1 கடைசி பரிமாண 2D வரிசையை ரெடிம் ப்ரிசர்வ் செய்யவும்
நாம் முதலில் 2டி வரிசை டைனமிக் என வரையறுப்போம். பிறகு, ReDim அறிக்கையைப் பயன்படுத்தி, ஒரு உருவாக்குவோம்மூன்று வரிசைகள் மற்றும் இரண்டு நெடுவரிசைகள் கொண்ட வரிசை. கடைசியாக, ReDim அறிக்கையை மீண்டும் Preserve கீவேர்டு க்கு பயன்படுத்துவோம் இரு பரிமாண வரிசையின் மேல் எல்லையை அதிகரிக்கவும்.
படிகள்:
- தொடங்க, ALT+F11 ஐ அழுத்தவும் VBA Module சாளரத்தை கொண்டு வர. மாற்றாக, டெவலப்பர் தாவலில் இருந்து இதைச் செய்யலாம் → விஷுவல் பேசிக் என்பதைத் தேர்ந்தெடுக்கவும்.
- பின், <இலிருந்து 1> தாவலைச் செருகவும் → தொகுதி ஐத் தேர்ந்தெடுக்கவும். VBA குறியீட்டை இங்கே தட்டச்சு செய்வோம்.
- அடுத்து, Module இல் பின்வரும் குறியீட்டை டைப் செய்யவும் window.
8835
VBA குறியீடு முறிவு
- முதலில், நாங்கள் அழைக்கிறோம் துணை செயல்முறை “ Redim_Preserve_2D_Array_Row ”.
- பிறகு, Our_Array என்ற மாறியை டைனமிக் வரிசையாக அறிவிக்கிறோம்.
- அடுத்து, வரிசையின் அளவை வரையறுக்கிறோம். கீழ் வரம்பு 3 , மேல் எல்லை 2 , இரண்டும் 1 இலிருந்து தொடங்கும்.
- பின், அணிவரிசைக்கு மதிப்புகளை ஒதுக்குகிறோம் .
- அதன் பிறகு, C6:D8 செல் வரம்பில் மதிப்புகளை உள்ளிடுவோம்.
- அதன் பிறகு, நாங்கள் குறியீட்டை இயக்கும் 3> .
- இதன் விளைவாக, வரையறுக்கப்பட்ட செல் வரம்புகளுக்கு மதிப்புகள் திரும்பும். “ ரேச்சல் ” வரிசை 1 மற்றும் நெடுவரிசை 1 நிலையில் இருப்பதைக் காணலாம்,இது VBA குறியீட்டில் ( 1,1 ) என வரையறுக்கப்பட்டுள்ளது.
- இப்போது, வரிசையின் அளவை மாற்றுவோம்.
- எனவே, இதை முந்தைய குறியீட்டில் சேர்த்து முதல் வரம்பு.மதிப்பு அறிக்கை ஐ அகற்றவும். மேலும், குறியீடு எப்படி இருக்கிறது என்பதை கீழே உள்ள ஸ்னாப்ஷாட்டில் இருந்து பார்க்கலாம்.
2414
- இங்கே, ( ) இலிருந்து மேல் வரம்பை அதிகரித்துள்ளோம். 1 இலிருந்து 2 ) முதல் ( 1 to 3 ) 1 .
- பின்னர், அணிவரிசையில் மதிப்புகளைச் சேர்த்துள்ளோம்.
- இப்போது இந்தக் குறியீட்டை இயக்கினால், முந்தைய மதிப்புகள் பாதுகாக்கப்படாமல் இருப்பதைக் காண்போம். இது முந்தைய மதிப்புகளுக்கு வெறுமையாகத் திரும்பும்.
- இப்போது, Preserve திறவுச்சொல் ஐ <இல் சேர்ப்பதன் மூலம் இதை சரிசெய்யலாம் 1>ReDim Statement .
- இறுதியாக, எங்கள் முழு குறியீடு இதுதான்.
3326
- இப்போது, நாம் <இந்த குறியீட்டை 1> இயக்கு , பிறகு வெளியீடு இப்படி இருக்கும். எனவே, எக்செல் VBA இல் 2D வரிசை யின் கடைசி பரிமாணத்தை “ ReDim Preserve ” செய்வோம். ” சேமித்து, வரிசையின் இரு பரிமாணங்களையும் அளவை மாற்றவும்.
மேலும் படிக்க: விபிஏ தனித்துவத்தைப் பெற எக்செல் இல் நெடுவரிசையில் இருந்து வரிசைக்கு மதிப்புகள் (3 அளவுகோல்கள்)
இதே போன்ற அளவீடுகள்
- எக்செல் இல் அட்டவணை வரிசைக்கு எவ்வாறு பெயரிடுவது (இதன் மூலம் எளிதான படிகள்)
- எக்செல் VBA CSV கோப்பை அணிவரிசையில் படிக்க (4 சிறந்த எடுத்துக்காட்டுகள்)
- எக்செல் இல் வரம்பை வரிசையாக மாற்றுவது எப்படிVBA (3 வழிகள்)
- எக்செல் VBA: ஒரு வரிசையில் இருந்து நகல்களை அகற்று (2 எடுத்துக்காட்டுகள்)
2. ReDim இரண்டு பரிமாணங்களையும் 2D வரிசையில் பாதுகாக்கவும் எக்செல் VBA
இந்த இறுதி முறையில், மறுஅளவிடுவதற்கான படிகளையும், 2D வரிசை " ReDim Preserve "ஐயும் காண்பிப்போம். இங்கே, வரிசையின் கீழ் வரம்பின் அளவை மாற்ற VBA Transpose செயல்பாட்டைப் பயன்படுத்துவோம். முதல் முறையில் வரிசையின் கீழ் வரம்பின் அளவை மாற்ற முயற்சித்தால், " சப்ஸ்கிரிப்ட் வரம்பிற்கு வெளியே " பிழையைக் காண்போம். இப்போது, மேலும் கவலைப்படாமல், இதை எவ்வாறு சரிசெய்து நமது இலக்கை அடைவது என்று பார்ப்போம்.
படிகள்:
- முதலாவதாக, முதல் முறையில் காட்டப்பட்டுள்ளபடி , தொகுதி சாளரத்தைக் கொண்டு வாருங்கள்.
- இரண்டாவதாக, பின்வரும் குறியீடு வரிகளைச் சேர்க்கவும். முதல் குறியீடு.
2715
- மேலும், இறுதி முறைக்கான குறியீடு இப்படி இருக்கும்.
3717
VBA குறியீடு பிரிப்பு
- முதலில், துணை நடைமுறை “ ReDim_Preserve_2D_Array_Both_Dimensions ” என்று அழைக்கிறோம். .
- பின், VBA Transpose செயல்பாடு வரையிலான மீதமுள்ள குறியீடுகள் முதல் குறியீட்டில் உள்ளதைப் போலவே இருக்கும்.
- இங்கே, நாங்கள் அணிவரிசையை இடமாற்றம் செய்கிறோம்.
- பின்னர், அணிவரிசையின் மேல் வரம்பை அதிகரிக்கிறோம்.
- அதன் பிறகு, அணிவரிசையை மீண்டும் இடமாற்றம் செய்கிறோம். எனவே, இறுதியில் இது குறைந்த வரம்பை மாற்றும்.
- அடுத்து, மறுஅளவிடப்பட்ட அணிவரிசைக்கான மதிப்புகளை உள்ளிடுகிறோம்பழைய தரவைப் பாதுகாக்கிறது.
- கடைசியாக, செல் வரம்பிற்கு மதிப்புகளை எழுதுகிறோம் C6:E9 .
- பின் என்று, முதல் முறையில் காட்டப்பட்டுள்ளபடி , இயக்கு இந்தக் குறியீட்டை.
- இவ்வாறு, குறியீடு ஒரு ஐ எவ்வாறு பாதுகாக்கிறது என்பதை நாம் கற்பனை செய்யலாம். 2D வரிசை “ ReDim Preserve ” மற்றும் VBA Transpose செயல்பாட்டைப் பயன்படுத்தி.
மேலும் படிக்க: விபிஏ எக்செல் இல் அணியை இடமாற்றம் செய்ய (3 முறைகள்)
நினைவில் கொள்ள வேண்டியவை
- 14> ReDim Preserve அணிவரிசையின் கீழ் எல்லையை மாற்ற முடியாது. அவ்வாறு செய்ய, நாம் Transpose செயல்பாட்டைப் பயன்படுத்த வேண்டும்.
- டைனமிக் வரிசைகளில் ReDim மட்டுமே பயன்படுத்த முடியும்.
முடிவு
எக்செல் VBA இல் 2D வரிசை “ ரிடிம் ப்ரிசர்வ் ” செய்வதற்கான இரண்டு விரைவான வழிகளைக் காட்டியுள்ளோம். இந்த முறைகள் தொடர்பாக நீங்கள் ஏதேனும் சிக்கல்களை எதிர்கொண்டால் அல்லது எனக்கு ஏதேனும் கருத்து இருந்தால், கீழே கருத்துத் தெரிவிக்கவும். மேலும், எக்செல் தொடர்பான கூடுதல் கட்டுரைகளுக்கு எங்கள் ExcelWIKI தளத்தைப் பார்வையிடலாம். படித்ததற்கு நன்றி, சிறந்து விளங்குங்கள்!