VBA చేరండి | ఎక్సెల్ VBA జాయిన్ ఫంక్షన్ యొక్క దశల వారీ ఉదాహరణలు
వర్క్షీట్లో కాంకాటేనేట్ ఫంక్షన్ మరియు రెండు లేదా అంతకంటే ఎక్కువ రెండు తీగలను కలిపేందుకు ఉపయోగించే & కమాండ్ మాదిరిగానే, VBA లో మేము అలా చేయటానికి జాయిన్ కమాండ్ను ఉపయోగిస్తాము, VBA లో చేరండి మేము డేటా యొక్క మూలాన్ని శ్రేణిలో తీసుకుంటాము మరియు సంయోగం మాదిరిగానే మేము వాటిలో చేరడానికి డీలిమిటర్ను ఉపయోగిస్తాము.
ఎక్సెల్ VBA చేరండి ఫంక్షన్
పేరు సూచించినట్లుగా, ది VBA చేరండి ఫంక్షన్ పేర్కొన్న డీలిమిటర్తో సబ్స్ట్రింగ్ల శ్రేణిని కలపడానికి ఉపయోగిస్తారు. మేము ఏ డీలిమిటర్ను పేర్కొనకపోతే, అది ‘స్పేస్’ ను డిఫాల్ట్ డీలిమిటర్ అక్షరంగా తీసుకుంటుంది. ఎక్సెల్ లో కాంకాటేనేట్ ఫంక్షన్ చేసే పని అదే చేస్తుంది, మనం డీలిమిటర్ క్యారెక్టర్ను ఒక్కసారి మాత్రమే పేర్కొనాలి, కాంకాటేనేట్ ఫంక్షన్లో, ప్రతి రెండు తీగలకు మధ్య ప్రతిసారీ డీలిమిటర్ క్యారెక్టర్ను పేర్కొనాలి.
ఫంక్షన్ యొక్క వాక్యనిర్మాణం
మనం చూడగలిగినట్లుగా, ఫంక్షన్ రెండు ఆర్గ్యుమెంట్స్ తీసుకుంటుంది మరియు స్ట్రింగ్ ఇస్తుంది. వాదనలు:
- సోర్స్అర్రే: చేరవలసిన సబ్స్ట్రింగ్ల శ్రేణిని మేము పేర్కొనాలి లేదా సూచించాలి.
- డీలిమిటర్: ఫలిత స్ట్రింగ్ను సృష్టించేటప్పుడు ప్రతి సబ్స్ట్రింగ్లను వేరు చేయడానికి డీలిమిటర్ ఉపయోగించబడుతుంది. ఇది ఐచ్ఛిక వాదన కాబట్టి, మేము దానిని వదిలివేస్తే, డీలిమిటర్ ఖాళీగా సెట్ చేయబడుతుంది ”“.
VBA SPLIT ఫంక్షన్ VBA JOIN ఫంక్షన్ యొక్క ఖచ్చితమైన వ్యతిరేక ఫంక్షన్.
VBA చేరడానికి ఫంక్షన్ యొక్క ఉదాహరణలు
ఎక్సెల్ VBA లో జాయిన్ ఫంక్షన్ యొక్క ఉదాహరణలు క్రింద ఉన్నాయి.
మీరు ఈ VBA జాయిన్ ఫంక్షన్ ఎక్సెల్ మూసను ఇక్కడ డౌన్లోడ్ చేసుకోవచ్చు - VBA జాయిన్ ఫంక్షన్ ఎక్సెల్ మూసVBA చేరండి - ఉదాహరణ # 1
మనం మొదటి (రమేష్), మధ్య (కుమార్) మరియు చివరి పేరు (మిశ్రా) లో చేరాలని అనుకుందాం.
దశలు ఇలా ఉంటాయి:
- మొదట, మేము విజువల్ బేసిక్ ఎడిటర్ను తెరవాలి. ‘డెవలపర్’ టాబ్ ఎక్సెల్ కింద ‘కోడ్’ గ్రూపులోని ‘విజువల్ బేసిక్’ కమాండ్పై క్లిక్ చేయడం ద్వారా మనం కూడా దీన్ని చేయవచ్చు లేదా మనం ఎక్సెల్ సత్వరమార్గం కీని ఉపయోగించవచ్చు Alt + F11.
- “షీట్ 1” పై కుడి-క్లిక్ చేసి, సందర్భోచిత మెను నుండి ‘చొప్పించు’ ఆదేశాన్ని ఎంచుకోవడం ద్వారా మాడ్యూల్ను చొప్పించండి, ఆపై చొప్పించడానికి ‘మాడ్యూల్’ ఎంచుకోండి.
- ‘జాయినింగ్నేమ్’ పేరుతో సబ్ట్రౌటిన్ను సృష్టించండి.
కోడ్:
సబ్ జాయినింగ్ నేమ్ () ఎండ్ సబ్
- JOIN ఫంక్షన్ను ఈ క్రింది విధంగా ఉపయోగించండి
కోడ్:
సబ్ జాయినింగ్ నేమ్ () రేంజ్ ("డి 2"). విలువ = చేరండి (అర్రే ("రమేష్", "కుమార్", "మిశ్రా")) ఎండ్ సబ్
JOIN ఫంక్షన్కు సోర్స్అర్రేను అందించడానికి మేము ARRAY ఫంక్షన్ను ఉపయోగించామని మరియు డీలిమిటర్ అక్షరాన్ని పేర్కొనడానికి దాటవేసినట్లు మనం చూడవచ్చు కాబట్టి ‘స్పేస్’ డిఫాల్ట్ అక్షరం అవుతుంది. మేము ఈ కోడ్ను F5 కీని ఉపయోగించి లేదా మానవీయంగా అమలు చేసినప్పుడు JOIN ఫంక్షన్ యొక్క ప్రాసెస్ చేయబడిన విలువ సెల్ D2 లో వ్రాయబడుతుంది.
VBA చేరండి - ఉదాహరణ # 2
ఆ వస్తువు కోసం మాత్రమే అమ్మకాలను కలిగి ఉన్న ఐటెమ్ పేరుతో వివిధ ఎక్సెల్ ఫైళ్ళను సృష్టించాలనుకుందాం.
- సత్వరమార్గం కీ Alt + F11 ఉపయోగించి విజువల్ బేసిక్ ఎడిటర్ను తెరవండి.
- సందర్భోచిత మెనుని తెరవడానికి ‘షీట్ 1 ′ (ఉదాహరణ 2)’ షీట్పై కుడి క్లిక్ చేసి, VBA ప్రాజెక్ట్లో VBA ‘మాడ్యూల్’ ను చొప్పించడానికి ‘చొప్పించు’ పై క్లిక్ చేయండి.
- ‘CreateItemSoldFiles’ అనే సబ్ట్రౌటిన్ను నిర్వచించండి.
కోడ్:
ఉప CreateItemSoldFiles () ముగింపు ఉప
- టూల్స్ మెను -> సూచనలు… కమాండ్ ఉపయోగించి ‘మైక్రోసాఫ్ట్ స్క్రిప్టింగ్ రన్టైమ్’ ఆబ్జెక్ట్ లైబ్రరీకి మేము ఒక రిఫరెన్స్ సెట్ చేయాలి, ఎందుకంటే మేము కొన్ని కోడ్ (ఆబ్జెక్ట్స్) ను ఉపయోగిస్తాము, ఈ ఆబ్జెక్ట్ లైబ్రరీని మనం చేర్చకపోతే అది పనిచేయదు.
- ఇప్పుడు మనం అన్ని వేరియబుల్స్ డిక్లేర్ చేస్తాము.
కోడ్:
మసకబారిన FSO క్రొత్త స్క్రిప్టింగ్.ఫైల్సిస్టమ్ ఆబ్జెక్ట్
పై FSO వేరియబుల్ VBA ఫైల్సిస్టమ్ ఆబ్జెక్ట్కు ప్రాప్తిని ఇస్తుంది. బైండింగ్ తరువాత, మేము బిల్డ్పాత్, కాపీ ఫైల్, క్రియేట్టెక్స్ట్ ఫైల్ మొదలైన ఫంక్షన్లను ఉపయోగించవచ్చు.
- తదుపరి స్టేట్మెంట్ టెక్స్ట్ స్ట్రీమ్ ఆబ్జెక్ట్ ను సృష్టిస్తుంది. టెక్స్ట్ స్ట్రీమ్ ఆబ్జెక్ట్ ద్వారా, మనం అసలు ఫైల్ నుండి చదవవచ్చు లేదా జోడించవచ్చు.
కోడ్:
క్రొత్త స్క్రిప్టింగ్గా మసకబారిన FSO.FileSystemObject Dim ts As Scripting.TextStream
- మేము మరిన్ని వేరియబుల్స్ డిక్లేర్ చేస్తాము. 'r' అనేది శ్రేణిలో అడ్డు వరుసలను పట్టుకోవడం కోసం, 'fs' అనేది తుది చేరిన స్ట్రింగ్ను నిల్వ చేయడానికి, పరిధిలోని నిలువు వరుసల సంఖ్యను నిల్వ చేయడానికి 'cols', ఫోల్డర్ యొక్క మార్గాన్ని నిల్వ చేయడానికి 'FolPath' తద్వారా ఫైళ్ళను సేవ్ చేయవచ్చు. ఫోల్డర్లో మరియు ఈ పేర్లతో ఫైల్ను సృష్టించడానికి వివిధ ఐటెమ్ పేర్లను నిల్వ చేయడానికి 'ఐటమ్స్_సోల్డ్'.
కోడ్:
డిమ్ ఆర్ రేంజ్ డిమ్ ఎఫ్ఎస్ స్ట్రింగ్ డిమ్ కోల్స్ యాస్ ఇంటీజర్ డిమ్ ఫోల్ పాత్ స్ట్రింగ్ డిమ్ ఐటమ్స్_సోల్డ్ గా స్ట్రింగ్
- పరిధిలోని మొత్తం నిలువు వరుసల సంఖ్యను లెక్కించడానికి, మేము ఈ క్రింది స్టేట్మెంట్ను నిర్వచిస్తాము.
కోడ్:
cols = పరిధి ("A1"). CurrentRegion.Columns.Count
ఈ స్టేట్మెంట్ మొదట సెల్ A1 కోసం ప్రస్తుత ప్రాంతాన్ని ఎన్నుకుంటుంది మరియు తరువాత ప్రస్తుత ప్రాంతంలోని మొత్తం నిలువు వరుసల సంఖ్యను లెక్కిస్తుంది.
- VBA ENVIRON ఫంక్షన్ మరియు కాంకాటనేషన్ ఆపరేటర్ ఉపయోగించి వేరియబుల్ ‘ఫోల్పాత్’ మార్గాన్ని కేటాయించడానికి మేము ఈ క్రింది స్టేట్మెంట్లను వ్రాస్తాము.
కోడ్:
ఫోల్పాత్ = ఎన్విరాన్మెంట్ ("యూజర్ప్రొఫైల్") & "\ డెస్క్టాప్ \ ఐటమ్స్_సోల్డ్" కాకపోతే FSO.FolderExists (ఫోల్పాత్) అప్పుడు FSO.CreateFolder FolPath
ఫోల్డర్ ఒకే స్థానంలో లేనట్లయితే రెండవ స్టేట్మెంట్ ఫోల్డర్ను సృష్టిస్తుంది.
- ఈ కోడ్ బి కాలమ్ యొక్క విలువలను ఒక్కొక్కటిగా ‘ఐటమ్స్_సోల్డ్’ కి కేటాయిస్తుంది. ప్రస్తుతం ఎంచుకున్న సెల్ కాలమ్ ఎలో ఉన్నందున బి కాలమ్లోని సెల్ యొక్క సూచనను పొందడానికి మేము ‘ఆఫ్సెట్ ఫంక్షన్’ ఉపయోగించాము.
కోడ్:
అంశాలు_ అమ్మకం = r.Offset (0, 1) .విలువ
- కింది సరిహద్దు స్టేట్మెంట్ ‘ఐటమ్స్_సోల్డ్’ వేరియబుల్లో నిల్వ చేసిన పేర్లతో ఫైళ్ళను ఒక్కొక్కటిగా అనుబంధ మోడ్లో తెరుస్తుంది (కొత్త విలువలు చివరికి చేర్చబడతాయి).
కోడ్:
Ts = FSO.OpenTextFile (FolPath & "\" & Items_Sold & ".xls", ForAppending, True) సెట్ చేయండి
ఎక్సెల్ ఫైళ్ళ కోసం ఫైల్ పేర్లను సృష్టించడానికి మేము ‘ఫోల్ పాత్’ మరియు ‘ఐటమ్స్_సోల్డ్’ మరియు స్టాటిక్ విలువలు (“\” మరియు ”.xls”) వేరియబుల్స్ కలిగిన కాంకాటేనేట్ ఆపరేటర్ను ఉపయోగించాము.
- VBA JOIN ఫంక్షన్ సోర్స్అరే వలె ఒకే డైమెన్షనల్ శ్రేణిని తీసుకుంటుందని మనం గుర్తుంచుకోవాలి, అడ్డు వరుసలను ఒక డైమెన్షనల్ అర్రేగా మార్చడానికి, మేము అప్లికేషన్ను ఉపయోగించాలి. పద్ధతిని రెండుసార్లు మార్చండి.
కోడ్:
fs = చేరండి (Application.Transpose (Application.Transpose (r.Resize (1, cols) .Value)), vbTab)
పరిధిలోని అనేక నిలువు వరుసల వెడల్పుకు పరిధిని పున ize పరిమాణం చేయడానికి మేము శ్రేణి వస్తువు యొక్క పున ize పరిమాణం పద్ధతిని ఉపయోగించాము.
డీలిమిటర్గా, విలువలు వేర్వేరు కణాలలో నింపడానికి మేము ‘vbTab’ కీవర్డ్ని ఉపయోగించాము.
- మేము JOIN ఫంక్షన్ యొక్క ప్రాసెస్ చేసిన విలువను 'fs' వేరియబుల్లో నిల్వ చేసినందున, మన అసలు ఫైల్లోని ప్రతి అడ్డు వరుసకు అడ్డు వరుస సంఖ్య 2 నుండి చివరి వరుస వరకు సృష్టించిన ఎక్సెల్ ఫైళ్ళను VBA యొక్క కొత్త పంక్తులలోకి వ్రాస్తాము (మా విషయంలో ఇది 350 వ వరుస).
- లూప్ను ముగించే ముందు, తెరిచిన ఫైల్ను మూసివేస్తాము. స్క్రీన్ షాట్లో చూపిన విధంగా కోడ్ ఉంటుంది.
మేము ఇప్పుడు పూర్తి కోడ్ వ్రాసాము.
కోడ్:
సబ్ క్రియేట్ఇటెమ్సోల్డ్ఫైల్స్ () డిమ్ ఎఫ్ఎస్ఓను కొత్త స్క్రిప్టింగ్గా. ఫైల్సిస్టమ్ ఆబ్జెక్ట్ డిమ్ టిఎస్ స్క్రిప్టింగ్గా. ఫోల్పాత్ = ఎన్విరాన్మెంట్ ("యూజర్ప్రొఫైల్") & "\ డెస్క్టాప్ \ ఐటమ్స్_సోల్డ్" కాకపోతే FSO.FolderExists (ఫోల్పాత్) అప్పుడు FSO.CreateFolder FolPath ప్రతి r పరిధిలో ("A2", రేంజ్ ("A1"). ) Items_Sold = r.Offset (0, 1) .వాల్యూ సెట్ ts = FSO.OpenTextFile (FolPath & "\" & Items_Sold & ".xls", ForAppending, True) fs = చేరండి (Application.Transpose (Application.Transpose (r .పరిమితి (1, కాలమ్స్) .వాల్యూ)), vbTab) ts.WriteLine fs ts.Close Next r End Sub
ఇప్పుడు కోడ్ను అమలు చేయడానికి, అప్పుడు మేము F5 ని నొక్కండి, డెస్క్టాప్లోని VBA కోడ్ సహాయంతో ‘ఐటమ్స్_సోల్డ్’ అనే ఫోల్డర్ సృష్టించబడిందని మనం చూడవచ్చు.
ఫోల్డర్లో, అంశం యొక్క పేర్లతో 7 ప్రత్యేకమైన ఫైల్లు సృష్టించబడ్డాయి మరియు ఫైల్లలోని నిర్దిష్ట అంశం గురించి మాత్రమే వివరాలను తెలుసుకోవచ్చు.
Laptop.xls
VBA JOIN ఫంక్షన్ గురించి గుర్తుంచుకోవలసిన విషయాలు
- ది సోర్స్అర్రే ఒక డైమెన్షనల్ అర్రే అయి ఉండాలి. మేము ఒక వ్యక్తిగత కణాన్ని సూచించలేము, ఎందుకంటే ఇది బహుళ బహుళ-డైమెన్షనల్ శ్రేణులను సృష్టిస్తుంది.
- మేము సున్నా-పొడవు స్ట్రింగ్ (“”) ను డీలిమిటర్గా పేర్కొంటే, శ్రేణిలోని అన్ని అంశాలు డీలిమిటర్లతో కలిసి ఉంటాయి.