வி.பி.ஏ சேர | எக்செல் விபிஏ சேர செயல்பாட்டின் படிப்படியான எடுத்துக்காட்டுகள்
பணித்தாள் கான்கடனேட் செயல்பாடு மற்றும் இரண்டு அல்லது அதற்கு மேற்பட்ட இரண்டு சரங்களை ஒன்றாக இணைக்கப் பயன்படும் & கட்டளை போன்றவற்றைப் போலவே, VBA இல் நாம் அவ்வாறு செய்ய சேர கட்டளையைப் பயன்படுத்துகிறோம், VBA இல் சேருங்கள் தரவுகளின் மூலத்தை ஒரு வரிசையில் எடுத்துக்கொள்கிறோம் இணக்கப்பாட்டைப் போலவே, அவற்றில் சேர ஒரு டிலிமிட்டரைப் பயன்படுத்துகிறோம்.
எக்செல் VBA JOIN செயல்பாடு
பெயர் குறிப்பிடுவது போல, தி VBA JOIN செயல்பாடு குறிப்பிட்ட டிலிமிட்டருடன் அடி மூலக்கூறுகளின் வரிசையை ஒன்றாக இணைக்கப் பயன்படுகிறது. எந்தவொரு டிலிமிட்டரையும் நாங்கள் குறிப்பிடவில்லை என்றால், அது இயல்புநிலை டிலிமிட்டர் எழுமாக ‘ஸ்பேஸை’ எடுக்கும். எக்செல் இல் கான்கடனேட் செயல்பாடு செய்யும் அதே வேலையை இது செய்கிறது, தவிர ஒரு முறை மட்டுமே டிலிமிட்டர் கதாபாத்திரத்தை குறிப்பிட வேண்டும், அதேசமயம், கான்கேட்டனேட் செயல்பாட்டில், ஒவ்வொரு இரண்டு சரங்களுக்கும் இடையில் ஒவ்வொரு முறையும் டிலிமிட்டர் தன்மையை குறிப்பிட வேண்டும்.
செயல்பாட்டின் தொடரியல்
நாம் பார்க்க முடியும் என, செயல்பாடு இரண்டு வாதங்களை எடுத்து ஒரு சரம் கொடுக்கிறது. வாதங்கள்:
- மூலஅரே: இணைக்கப்பட வேண்டிய அடி மூலக்கூறுகளின் வரிசையை நாம் குறிப்பிட வேண்டும் அல்லது குறிப்பிட வேண்டும்.
- டிலிமிட்டர்: விளைவாக வரும் சரத்தை உருவாக்கும்போது ஒவ்வொரு மூலக்கூறுகளையும் பிரிக்க டிலிமிட்டர் பயன்படுத்தப்படுகிறது. இது ஒரு விருப்பமான வாதம் என்பதால், அதை நாம் தவிர்த்துவிட்டால், டிலிமிட்டர் ஒரு இடமாக அமைக்கப்படுகிறது ”“.
VBA SPLIT செயல்பாடு VBA JOIN செயல்பாட்டின் சரியான எதிர் செயல்பாடு ஆகும்.
VBA சேர செயல்பாட்டின் எடுத்துக்காட்டுகள்
எக்செல் வி.பி.ஏ.யில் சேர செயல்பாட்டின் எடுத்துக்காட்டுகள் கீழே.
இந்த விபிஏ சேர செயல்பாடு எக்செல் வார்ப்புருவை இங்கே பதிவிறக்கம் செய்யலாம் - விபிஏ சேர செயல்பாடு எக்செல் வார்ப்புருVBA சேர - எடுத்துக்காட்டு # 1
முதல் (ரமேஷ்), நடுத்தர (குமார்) மற்றும் கடைசி பெயர் (மிஸ்ரா) உடன் சேர விரும்புகிறோம் என்று வைத்துக்கொள்வோம்.
படிகள் இருக்கும்:
- முதலில், காட்சி அடிப்படை எடிட்டரை நாம் திறக்க வேண்டும். ‘டெவலப்பர்’ தாவல் எக்செல் கீழ் உள்ள ‘கோட்’ குழுவில் உள்ள ‘விஷுவல் பேசிக்’ கட்டளையை கிளிக் செய்வதன் மூலம் நாம் இதைச் செய்யலாம் அல்லது எக்செல் குறுக்குவழி விசையைப் பயன்படுத்தலாம் Alt + F11.
- “தாள் 1” இல் வலது கிளிக் செய்து, சூழ்நிலை மெனுவிலிருந்து ‘செருகு’ கட்டளையைத் தேர்ந்தெடுத்து, செருக ‘தொகுதி’ என்பதைத் தேர்வுசெய்து தொகுதியைச் செருகவும்.
- ‘JoiningName’ என்ற பெயரில் ஒரு சப்ரூட்டீனை உருவாக்கவும்.
குறியீடு:
துணை இணைதல் பெயர் () முடிவு துணை
- JOIN செயல்பாட்டை பின்வருமாறு பயன்படுத்தவும்
குறியீடு:
துணை இணைதல் பெயர் () வரம்பு ("டி 2"). மதிப்பு = சேர (வரிசை ("ரமேஷ்", "குமார்", "மிஸ்ரா")) முடிவு துணை
JOIN செயல்பாட்டிற்கு SourceArray ஐ வழங்க ARRAY செயல்பாட்டைப் பயன்படுத்தியிருப்பதைக் காணலாம் மற்றும் டிலிமிட்டர் எழுத்தை குறிப்பிடத் தவிர்த்துவிட்டோம், எனவே ‘இடைவெளி’ இயல்புநிலை எழுத்தாக இருக்கும். இந்த குறியீட்டை F5 விசையைப் பயன்படுத்தி அல்லது கைமுறையாக இயக்கும்போது JOIN செயல்பாட்டின் செயலாக்கப்பட்ட மதிப்பு செல் D2 இல் எழுதப்படும்.
VBA சேர - எடுத்துக்காட்டு # 2
அந்த உருப்படிக்கு மட்டுமே விற்பனையைக் கொண்ட உருப்படி பெயருடன் பல்வேறு எக்செல் கோப்புகளை உருவாக்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம்.
- குறுக்குவழி விசை Alt + F11 ஐப் பயன்படுத்தி விஷுவல் பேசிக் எடிட்டரைத் திறக்கவும்.
- சூழ்நிலை மெனுவைத் திறக்க ‘தாள் 1 ′ (எடுத்துக்காட்டு 2)’ தாளில் வலது கிளிக் செய்து, விபிஏ திட்டத்தில் விபிஏ ‘தொகுதி’ செருக ‘செருகு’ என்பதைக் கிளிக் செய்க.
- ‘CreateItemSoldFiles’ என்ற பெயரில் ஒரு சப்ரூட்டீனை வரையறுக்கவும்.
குறியீடு:
துணை CreateItemSoldFiles () முடிவு துணை
- கருவிகள் மெனு -> குறிப்புகள்… கட்டளையைப் பயன்படுத்தி ‘மைக்ரோசாஃப்ட் ஸ்கிரிப்டிங் இயக்க நேரம்’ பொருள் நூலகத்திற்கு ஒரு குறிப்பை அமைக்க வேண்டும், ஏனெனில் நாம் சில குறியீடுகளை (பொருள்கள்) பயன்படுத்துவோம், இந்த பொருள் நூலகத்தை நாங்கள் சேர்க்காவிட்டால் அது இயங்காது.
- இப்போது நாம் அனைத்து மாறிகள் அறிவிப்போம்.
குறியீடு:
புதிய ஸ்கிரிப்ட்டாக மங்கலான FSO.FileSystemObject
மேலே உள்ள FSO மாறி VBA FileSystemObject க்கு அணுகலை வழங்குகிறது. பிணைத்த பிறகு, பில்ட் பாத், காப்பிஃபைல், கிரியேட் டெக்ஸ்ட் ஃபைல் போன்ற செயல்பாடுகளைப் பயன்படுத்தலாம்.
- அடுத்த அறிக்கை ஒரு உரை ஸ்ட்ரீம் பொருளை உருவாக்குகிறது. டெக்ஸ்ட்ஸ்ட்ரீம் பொருளின் மூலம், அசல் கோப்பிலிருந்து படிக்கலாம் அல்லது சேர்க்கலாம்.
குறியீடு:
புதிய ஸ்கிரிப்ட்டாக மங்கலான எஃப்எஸ்ஓ. ஃபைல் சிஸ்டம்ஆப்ஜெக்ட் டிம் டிஎஸ் ஸ்கிரிப்டிங்.டெக்ஸ்ட்ஸ்ட்ரீம்
- மேலும் மாறிகள் அறிவிப்போம். 'r' என்பது வரம்பில் வரிசைகளை வைத்திருப்பதற்கானது, 'fs' என்பது இறுதி இணைந்த சரத்தை சேமிப்பதற்கானது, வரம்பில் உள்ள நெடுவரிசைகளின் எண்ணிக்கையை சேமிப்பதற்கான 'cols', கோப்புறையின் பாதையை சேமிப்பதற்கான 'FolPath', இதனால் கோப்புகளை சேமிக்க முடியும் இந்த பெயர்களுடன் ஒரு கோப்பை உருவாக்க பல்வேறு உருப்படி பெயர்களை சேமிக்க கோப்புறையில் மற்றும் 'Items_Sold'.
குறியீடு:
மங்கலான ஆர் வரம்பாக மங்கலான எஃப்எஸ் சரம் மங்கலான கோல்களாக முழு எண் மங்கலான ஃபோல்பாத் சரம் மங்கலான உருப்படிகளாக_ சரம் போல விற்கப்படுகிறது
- வரம்பில் உள்ள மொத்த நெடுவரிசைகளின் எண்ணிக்கையை கணக்கிட, பின்வரும் அறிக்கையை வரையறுப்போம்.
குறியீடு:
cols = வரம்பு ("A1"). CurrentRegion.Columns.Count
இந்த அறிக்கை முதலில் செல் A1 க்கான தற்போதைய பகுதியைத் தேர்ந்தெடுக்கும், பின்னர் தற்போதைய பிராந்தியத்தின் மொத்த நெடுவரிசைகளின் எண்ணிக்கையைக் கணக்கிடும்.
- VBA ENVIRON செயல்பாடு மற்றும் கான்கேடனேஷன் ஆபரேட்டரைப் பயன்படுத்தி மாறி ‘ஃபோல்பாத்’ பாதையை ஒதுக்க பின்வரும் அறிக்கைகளை எழுதுவோம்.
குறியீடு:
FolPath = சூழல் ("UserProfile") & "\ டெஸ்க்டாப் \ Items_Sold" இல்லையென்றால் FSO.FolderExists (FolPath) பின்னர் FSO.CreateFolder FolPath
கோப்புறை ஒரே இடத்தில் இல்லாவிட்டால் இரண்டாவது அறிக்கை கோப்புறையை உருவாக்கும்.
- இந்த குறியீடு பி நெடுவரிசையின் மதிப்புகளை ஒவ்வொன்றாக ‘உருப்படிகள்_சொல்’ க்கு ஒதுக்கும். தற்போது தேர்ந்தெடுக்கப்பட்ட செல் ஏ நெடுவரிசையில் இருப்பதால் பி நெடுவரிசையில் கலத்தின் குறிப்பைப் பெற ‘ஆஃப்செட் செயல்பாடு’ பயன்படுத்தினோம்.
குறியீடு:
உருப்படிகள்_சொல் = r.Offset (0, 1) .மதிப்பீடு
- பின்வரும் எல்லை அறிக்கை, ‘உருப்படிகள்_சொல்’ மாறியில் சேமிக்கப்பட்ட பெயர்களைக் கொண்ட கோப்புகளை ஒவ்வொன்றாக இணைக்கும் பயன்முறையில் திறக்கும் (புதிய மதிப்புகள் கடைசியாக சேர்க்கப்படும்).
குறியீடு:
Ts = FSO.OpenTextFile ஐ அமைக்கவும் (FolPath & "\" & Items_Sold & ".xls", ForAppending, true)
எக்செல் கோப்புகளுக்கான கோப்பு பெயர்களை உருவாக்க ‘ஃபோல்பாத்’ மற்றும் ‘உருப்படிகள்_சொல்’ மற்றும் நிலையான மதிப்புகள் (“\” மற்றும் ”.xls”) ஆகிய மாறிகள் கொண்ட கான்காட்னேட் ஆபரேட்டரைப் பயன்படுத்தினோம்.
- VBA JOIN செயல்பாடு SourceArray என ஒரே ஒரு பரிமாண வரிசையை எடுக்கும் என்பதை நாம் நினைவில் கொள்ள வேண்டும். வரிசைகளை ஒரு பரிமாண வரிசையாக மாற்ற, நாம் Application.Transpose method ஐ இரண்டு முறை பயன்படுத்த வேண்டும்.
குறியீடு:
fs = சேர் (Application.Transpose (Application.Transpose (r.Resize (1, cols) .Value)), vbTab)
வரம்பில் உள்ள பல நெடுவரிசைகளின் அகலத்திற்கு வரம்பை மறுஅளவிடுவதற்கு வரம்பு பொருளின் மறுஅளவிடுதல் முறையைப் பயன்படுத்தினோம்.
டிலிமிட்டராக, மதிப்புகள் வெவ்வேறு கலங்களில் நிரப்பப்படும் வகையில் ‘vbTab’ முக்கிய சொல்லைப் பயன்படுத்தினோம்.
- JOIN செயல்பாட்டின் செயலாக்கப்பட்ட மதிப்பை 'fs' மாறியில் சேமித்து வைத்திருப்பதால், எஃப்.எஸ்ஸின் மதிப்புகளை VBA இன் புதிய வரிகளில் எழுதுவோம், எங்கள் அசல் கோப்பில் ஒவ்வொரு வரிசையிலும் வரிசை எண் 2 முதல் கடைசி வரிசை வரை எக்செல் கோப்புகளை உருவாக்கியுள்ளோம் (எங்கள் விஷயத்தில் அது 350 வது வரிசை).
- சுழற்சியை முடிப்பதற்கு முன், திறந்த கோப்பை மூடுவோம். ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி குறியீடு இருக்கும்.
நாங்கள் இப்போது முழு குறியீட்டை எழுதியுள்ளோம்.
குறியீடு:
சப் கிரியேட்இடெம்சோல்ட்ஃபைல்ஸ் () மங்கலான எஃப்எஸ்ஓ புதிய ஸ்கிரிப்டிங். ஃபைல் சிஸ்டம்ஆப்ஜெக்ட் டிம் டிஎஸ் ஸ்கிரிப்டிங். FolPath = சூழலை ("UserProfile") & "\ டெஸ்க்டாப் \ Items_Sold" இல்லையென்றால் FSO.FolderExists (FolPath) பின்னர் FSO.CreateFolder FolPath ஒவ்வொரு r வரம்பிலும் ("A2", வரம்பு ("A1"). முடிவு (xlDown). ) Items_Sold = r.Offset (0, 1). மதிப்பு தொகுப்பு ts = FSO.OpenTextFile (FolPath & "\" & Items_Sold & ".xls", ForAppending, True) fs = சேரவும் (Application.Transpose (Application.Transpose) மறுஅளவிடு (1, நெடுவரிசைகள்). மதிப்பு)), vbTab) ts.WriteLine fs ts.Close அடுத்த r முடிவு துணை
இப்போது குறியீட்டை இயக்க, நாம் F5 ஐ அழுத்துவோம், டெஸ்க்டாப்பில் VBA குறியீட்டின் உதவியுடன் ‘Items_Sold’ என்ற கோப்புறை உருவாக்கப்பட்டிருப்பதைக் காணலாம்.
கோப்புறையில், உருப்படியின் பெயர்களுடன் 7 தனித்துவமான கோப்புகள் உருவாக்கப்பட்டுள்ளன, மேலும் அந்த குறிப்பிட்ட உருப்படியைப் பற்றிய விவரங்களை கோப்புகளில் காணலாம்.
Laptop.xls
VBA JOIN செயல்பாடு பற்றி நினைவில் கொள்ள வேண்டிய விஷயங்கள்
- தி மூலஅரே ஒரு பரிமாண வரிசையாக இருக்க வேண்டும். ஒரு தனிப்பட்ட கலத்தை நாம் குறிப்பிட முடியாது, ஏனெனில் இது பல பரிமாண வரிசைகளை உருவாக்கும்.
- ஒரு பூஜ்ஜிய நீள சரத்தை (“”) ஒரு டிலிமிட்டராகக் குறிப்பிட்டால், வரிசையில் உள்ள அனைத்து உருப்படிகளும் டிலிமிட்டர்கள் இல்லாமல் ஒன்றிணைக்கப்படுகின்றன.