VBA స్ప్లిట్ స్ట్రింగ్ అర్రేలోకి | ఎక్సెల్ VBA లో స్ట్రింగ్ను అర్రేలోకి ఎలా విభజించాలి?
ఎక్సెల్ VBA స్ప్లిట్ స్ట్రింగ్ అర్రేలోకి
స్ట్రింగ్ అనేది ఒకచోట చేరిన అక్షరాల సమాహారం, ఈ అక్షరాలు విభజించబడి వేరియబుల్లో నిల్వ చేయబడినప్పుడు ఆ వేరియబుల్ ఈ అక్షరాలకు శ్రేణి అవుతుంది మరియు ఒక స్ట్రింగ్ను శ్రేణిగా విభజించడానికి మేము ఉపయోగించే పద్ధతి SPLIT ఫంక్షన్ను ఉపయోగించడం ద్వారా vba ఇది ఒక డైమెన్షనల్ స్ట్రింగ్లో స్ట్రింగ్ను విభజిస్తుంది.
VBA లోని వర్క్షీట్ల మాదిరిగా మనకు స్ట్రింగ్ లేదా టెక్స్ట్ విలువలతో వ్యవహరించే విధులు ఉన్నాయి. ఫిర్స్ పేరు, చివరి పేరు, మధ్య పేరు మొదలైనవాటిని తీయడం వంటి స్ట్రింగ్ ఆపరేషన్లతో మనకు బాగా తెలుసు. అయితే స్ట్రింగ్ విలువను VBA లో శ్రేణులుగా విభజించే ఆలోచన ఎలా ఉంటుంది? అవును, మీరు VBA కోడింగ్ ఉపయోగించి స్ట్రింగ్ వాక్యాన్ని శ్రేణిలోకి విభజించవచ్చని మీరు విన్నారు మరియు ఈ ప్రత్యేక వ్యాసంలో, ఎక్సెల్ VBA లో స్ట్రింగ్ను శ్రేణిగా ఎలా విభజించాలో మేము మీకు చూపుతాము.
స్ప్లిట్ స్ట్రింగ్ అరే?
మొదట దీనిని స్పష్టం చేద్దాం, “స్ట్రింగ్ ఇన్ అర్రే” అనేది “వాక్యం లేదా స్ట్రింగ్ యొక్క విభిన్న భాగాలు బహుళ భాగాలుగా విభజించబడతాయి” తప్ప మరొకటి కాదు. ఉదాహరణకు, వాక్యం “బెంగళూరు కర్ణాటక రాజధాని నగరం” అయితే, ప్రతి పదం వేరే శ్రేణి.
కాబట్టి, ఈ వాక్యాన్ని శ్రేణిలోకి ఎలా విభజించాలో ఈ వ్యాసం యొక్క అంశం.
ఎక్సెల్ VBA లో స్ప్లిట్ స్ట్రింగ్ను అర్రేగా మార్చడం ఎలా?
స్ప్లిట్ స్ట్రింగ్ను VBA లో శ్రేణిగా మార్చడానికి మనకు “SPLIT” అనే ఫంక్షన్ ఉంది. ఇది అందించిన డీలిమిటర్ ఆధారంగా సరఫరా చేసిన స్ట్రింగ్ విలువను వేర్వేరు భాగాలకు విభజించే పనిని చేసే VBA ఫంక్షన్.
ఉదాహరణకు, వాక్యం “బెంగళూరు కర్ణాటక రాజధాని నగరం” అయితే స్థలం ప్రతి పదానికి మధ్య డీలిమిటర్.
SPLIT ఫంక్షన్ యొక్క వాక్యనిర్మాణం క్రింద ఉంది.
- విలువ లేదా వ్యక్తీకరణ: ఇది స్ట్రింగ్ యొక్క ప్రతి భాగాన్ని వేరు చేయడం ద్వారా శ్రేణికి మార్చడానికి మేము ప్రయత్నిస్తున్న స్ట్రింగ్ లేదా టెక్స్ట్ విలువ.
- [డీలిమిటర్]: ఇది స్ట్రింగ్లోని ప్రతి పదాన్ని వేరుచేసే సాధారణ విషయాలు తప్ప మరొకటి కాదు. మా వాక్యంలో “బెంగళూరు కర్ణాటక రాజధాని నగరం” ప్రతి పదం అంతరిక్ష అక్షరాలతో వేరు చేయబడింది కాబట్టి మా డీలిమిటర్ ఇక్కడ స్థలం.
- [పరిమితి]: పరిమితి ఏమీ కాదు, దాని ఫలితంగా మనకు ఎన్ని భాగాలు కావాలి. "బెంగళూరు కర్ణాటక రాజధాని నగరం" అనే వాక్యంలోని ఉదాహరణకి, మనకు మూడు భాగాలు మాత్రమే అవసరమైతే ఏడు భాగాలు ఉన్నాయి, అప్పుడు మనకు మొదటి భాగం "బెంగళూరు" గా, రెండవ భాగం "ఉంది" మరియు మూడవ భాగం మిగిలినవి వాక్యం అంటే “కర్ణాటక రాజధాని”.
- [సరిపోల్చండి]: ఇది 99% సమయం ఉపయోగించబడదు, కాబట్టి ఈ సమయంలో దీన్ని తాకవద్దు.
ఉదాహరణ # 1
సరే, ఇప్పుడు ఆచరణాత్మక ఉదాహరణలు చూద్దాం.
దశ 1: స్ట్రింగ్ విలువను కలిగి ఉండటానికి VBA వేరియబుల్ను నిర్వచించండి.
కోడ్:
స్ట్రింగ్ ఎండ్ సబ్ గా ఉప స్ట్రింగ్_టో_అర్రే () మసక స్ట్రింగ్వాల్యూ
దశ 2: ఈ వేరియబుల్ కోసం “బెంగళూరు కర్ణాటక రాజధాని నగరం” అనే స్ట్రింగ్ను కేటాయించండి.
కోడ్:
సబ్ స్ట్రింగ్_టో_అర్రే () స్ట్రింగ్ స్ట్రింగ్వాల్యూగా మసకబారిన స్ట్రింగ్వాల్యూ = "కర్ణాటక రాజధాని నగరం బెంగళూరు"
దశ 3: పైన పేర్కొన్న స్ట్రింగ్ విలువ యొక్క ప్రతి భాగాన్ని కలిగి ఉండే మరో వేరియబుల్ను తరువాత నిర్వచించండి. దీనిపై మనం ఇక్కడ గుర్తుంచుకోవలసినది ఏమిటంటే, వాక్యంలో ఒకటి కంటే ఎక్కువ పదాలు ఉన్నందున, ఒకటి కంటే ఎక్కువ విలువలను కలిగి ఉండటానికి వేరియబుల్ను “అర్రే” గా నిర్వచించాలి.
ఈ సందర్భంలో, మనకు స్ట్రింగ్లో 7 పదాలు ఉన్నాయి కాబట్టి, శ్రేణిని ఈ క్రింది విధంగా నిర్వచించండి.
కోడ్:
సబ్ స్ట్రింగ్_టో_అర్రే () స్ట్రింగ్ స్ట్రింగ్వాల్యూగా డిమ్ స్ట్రింగ్వాల్యూ = "కర్ణాటక రాజధాని నగరం బెంగళూరు" డిమ్ సింగిల్వాల్యూ () స్ట్రింగ్ ఎండ్ సబ్గా
ఇప్పుడు ఈ శ్రేణి వేరియబుల్ కోసం, ఎక్సెల్ VBA లో స్ట్రింగ్ను శ్రేణిగా విభజించడానికి మేము SPLIT ఫంక్షన్ను ఉపయోగిస్తాము.
కోడ్:
ఉప స్ట్రింగ్_టో_అర్రే () మసక స్ట్రింగ్వాల్యూ స్ట్రింగ్వాల్యూ = "బెంగళూరు కర్ణాటక రాజధాని నగరం" డిమ్ సింగిల్వాల్యూ () స్ట్రింగ్ సింగిల్వాల్యూ = స్ప్లిట్ (స్ట్రింగ్వాల్యూ, "") ఎండ్ సబ్
వ్యక్తీకరణ మా స్ట్రింగ్ విలువ అనగా వేరియబుల్ ఇప్పటికే స్ట్రింగ్ విలువను కలిగి ఉంది కాబట్టి వేరియబుల్ పేరును మాత్రమే నమోదు చేయండి.
డీలిమిటర్ ఈ స్ట్రింగ్లో స్పేస్ క్యారెక్టర్ ఉంటుంది కాబట్టి అదే సరఫరా చేయండి.
కోడ్:
ఉప స్ట్రింగ్_టో_అర్రే () మసక స్ట్రింగ్వాల్యూ స్ట్రింగ్వాల్యూ = "బెంగళూరు కర్ణాటక రాజధాని నగరం" డిమ్ సింగిల్వాల్యూ () స్ట్రింగ్ సింగిల్వాల్యూ = స్ప్లిట్ (స్ట్రింగ్వాల్యూ, ""
ప్రస్తుతానికి SPLIT ఫంక్షన్ యొక్క ఇతర భాగాలను వదిలివేయండి.
SPLIT ఫంక్షన్ స్ట్రింగ్ విలువను 7 ముక్కలుగా విభజించింది, ప్రతి పదం స్పేస్ క్యారెక్టర్ ఖర్చుతో వేరుచేయబడుతుంది. మేము వేరియబుల్ ప్రకటించాము కాబట్టి “సింగిల్వాల్యూ” శ్రేణిగా మనం ఈ 7 విలువలను ఈ వేరియబుల్కు కేటాయించవచ్చు.
మేము ఈ క్రింది విధంగా కోడ్ రాయవచ్చు.
కోడ్:
ఉప స్ట్రింగ్_టో_అర్రే () స్ట్రింగ్ స్ట్రింగ్వాల్యూగా మసకబారిన స్ట్రింగ్వాల్యూ = "కర్ణాటక రాజధాని నగరం బెంగళూరు" డిమ్ సింగిల్వాల్యూ () స్ట్రింగ్ సింగిల్వాల్యూగా = స్ప్లిట్ (స్ట్రింగ్వాల్యూ, "") ఎంఎస్జిబాక్స్ సింగిల్వాల్యూ (0) ఎండ్ సబ్
కోడ్ను అమలు చేయండి మరియు సందేశ పెట్టెలో మనకు ఏమి లభిస్తుందో చూడండి.
ప్రస్తుతానికి, మేము మొదటి పదాన్ని చూడవచ్చు, అనగా “బెంగళూరు” మరింత పదాలను చూపించడానికి మేము ఈ క్రింది విధంగా కోడ్ వ్రాయగలము.
కోడ్:
ఉప స్ట్రింగ్_టో_అర్రే () స్ట్రింగ్ స్ట్రింగ్వాల్యూగా మసకబారిన స్ట్రింగ్వాల్యూ = "కర్ణాటక రాజధాని నగరం బెంగళూరు" డిమ్ సింగిల్వాల్యూ () స్ట్రింగ్ సింగిల్వాల్యూగా = స్ప్లిట్ (స్ట్రింగ్వాల్యూ, "") MsgBox సింగిల్వాల్యూ (0) & vbNewLine (2) & vbNewLine & SingleValue (3) & _vbNewLine & SingleValue (4) & vbNewLine & SingleValue (5) & vbNewLine & SingleValue (6) ఎండ్ సబ్
ఇప్పుడు కోడ్ను అమలు చేసి, సందేశ పెట్టెలో మనకు ఏమి లభిస్తుందో చూడండి.
ప్రతి పదం శ్రేణులుగా విభజించబడింది.
ఉదాహరణ # 2
ఇప్పుడు ఈ విలువలను కణాలకు నిల్వ చేసే పరిస్థితిని imagine హించుకోండి, అనగా ప్రతి పదాన్ని ప్రత్యేక సెల్ లోకి. దీని కోసం, మేము VBA లో FOR NEXT లూప్ను చేర్చాలి.
దిగువ కోడ్ ప్రతి పదాన్ని ప్రత్యేక కణాలలోకి చొప్పిస్తుంది.
ఉప స్ట్రింగ్_టో_అర్రే 1 () స్ట్రింగ్ స్ట్రింగ్వాల్యూగా డిమ్ స్ట్రింగ్వాల్యూ = "కర్ణాటక రాజధాని నగరం బెంగళూరు" డిమ్ సింగిల్వాల్యూ () స్ట్రింగ్ సింగిల్వాల్యూగా = స్ప్లిట్ (స్ట్రింగ్వాల్యూ, "") డి = కె నుండి 1 = 7 సెల్స్ (1, కె) .వాల్యూ = సింగిల్వాల్యూ (క - 1) తదుపరి కె ఎండ్ సబ్
దిగువ చిత్రంలో చూపిన విధంగా ఇది ప్రతి పదాన్ని చొప్పిస్తుంది.
గుర్తుంచుకోవలసిన విషయాలు
- కోడ్ డైనమిక్గా చేయడానికి అర్రే మరియు లూప్లను కలిసి ఉపయోగిస్తారు.
- SPLIT ఫంక్షన్కు సాధారణ డీలిమిటర్ అవసరం, ఇది వాక్యంలోని ప్రతి పదాన్ని వేరు చేస్తుంది.
- శ్రేణి పొడవు 1 నుండి కాకుండా సున్నా నుండి మొదలవుతుంది.