VBA స్ట్రింగ్ అర్రే | ఎక్సెల్ VBA లో స్ట్రింగ్ అర్రేను ఎలా ప్రకటించాలి మరియు ప్రారంభించాలి?
ఎక్సెల్ 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 సిటీలిస్ట్ (1) & "," & సిటీలిస్ట్ (2) & "," & సిటీలిస్ట్ (3) & "," & సిటీలిస్ట్ (4) & "," & సిటీలిస్ట్ (5)
నేను ఈ కోడ్ను నడుపుతున్నప్పుడు మాకు అన్ని నగర పేర్లను ఒకే సందేశ పెట్టెలో చూపించే సందేశ పెట్టె వస్తుంది.
ప్రతి నగరానికి వ్యక్తిగత వేరియబుల్స్ ప్రకటించే పనిని తొలగించడం ద్వారా ఇది మా షెడ్యూల్ నుండి ఎక్కువ సమయాన్ని ఆదా చేసిందని మనందరికీ తెలుసు. అయినప్పటికీ, మీరు నేర్చుకోవలసిన మరో విషయం ఏమిటంటే, స్ట్రింగ్ విలువల కోసం మేము వ్రాసే పంక్తి కోడ్ను మేము ఇంకా తగ్గించగలము. VBA స్ట్రింగ్ శ్రేణుల కోసం మేము కోడ్ ఎలా వ్రాస్తామో చూద్దాం.
ఎక్సెల్ VBA లో స్ట్రింగ్ అర్రే యొక్క ఉదాహరణలు
ఎక్సెల్ vba స్ట్రింగ్ శ్రేణి యొక్క ఉదాహరణలు క్రింద ఉన్నాయి.
మీరు ఈ VBA స్ట్రింగ్ అర్రే ఎక్సెల్ మూసను ఇక్కడ డౌన్లోడ్ చేసుకోవచ్చు - VBA స్ట్రింగ్ అర్రే ఎక్సెల్ మూసఉదాహరణ # 1
పై కోడ్లో మనం చూసినట్లుగా, నిర్ణయించిన శ్రేణి పరిమాణం ఆధారంగా వేరియబుల్లో ఒకటి కంటే ఎక్కువ విలువలను నిల్వ చేయవచ్చు.
ఇప్పుడు మనం చేయవలసింది శ్రేణి పొడవును ముందుగానే నిర్ణయించవద్దు.
కోడ్:
సబ్ స్ట్రింగ్_అర్రే_ఎక్సాంపుల్ 1 () డిమ్ సిటీలిస్ట్ () వేరియంట్ ఎండ్ సబ్ గా
కుండలీకరణం లోపల మీరు పైన చూడగలిగినట్లుగా నేను ఏ పొడవును వ్రాయలేదు. ఇప్పుడు ఈ వేరియబుల్ కోసం VBA ARRAY ఫంక్షన్ను ఉపయోగించి విలువలను చొప్పించండి.
అర్రే లోపల విలువలను డబుల్ కోట్లలో పాస్ చేయండి, ఒక్కొక్కటి కామాతో వేరు చేయబడతాయి (,).
కోడ్:
సబ్ స్ట్రింగ్_అర్రే_ఎక్సాంపుల్ () డిమ్ సిటీలిస్ట్ () వేరియంట్ సిటీలిస్ట్ = అర్రే ("బెంగళూరు", "ముంబై", "కోల్కతా", "హైదరాబాద్", "ఒరిస్సా")
VBA లోని సందేశ పెట్టెలో నగర పేర్ల ఫలితాన్ని చూపించడానికి ఇప్పుడు పాత కోడ్ను అలాగే ఉంచండి.
కోడ్:
సబ్ స్ట్రింగ్_అర్రే_ఎక్సాంపుల్ 1 () డిమ్ సిటీలిస్ట్ () వేరియంట్ సిటీలిస్ట్ = అర్రే ("బెంగళూరు", "ముంబై", "కోల్కతా", "హైదరాబాద్", "ఒరిస్సా") MsgBox సిటీలిస్ట్ (0) & "," & సిటీలిస్ట్ (1) & " , "& సిటీలిస్ట్ (2) &", "& సిటీలిస్ట్ (3) &", "& సిటీలిస్ట్ (4) ఎండ్ సబ్
పై కోడ్లో నేను చేసిన ఒక మార్పు ఏమిటంటే, అర్రే వేరియబుల్ యొక్క తక్కువ పరిమితి మరియు ఎగువ పరిమితిని మేము నిర్ణయించలేదు మరియు మేము ARRAY ఫంక్షన్ అర్రే కౌంట్ను 1 నుండి కాకుండా 0 నుండి ప్రారంభిస్తాము.
కాబట్టి, మేము విలువలను పేర్కొన్న కారణం అదే సిటీలిస్ట్ (0), క్లిలిలిస్ట్ (1), సిటీలిస్ట్ (2), సిటీలిస్ట్ (3), సిటీలిస్ట్ (4).
ఇప్పుడు ఎక్సెల్ సత్వరమార్గం కీ F5 ద్వారా లేదా మానవీయంగా కోడ్ను అమలు చేయండి, మునుపటి కోడ్ నుండి మనకు లభించిన ఫలితాన్ని పొందుతాము.
ఉదాహరణ # 2
LBOUND & UBOUND ఫంక్షన్లతో VBA స్ట్రింగ్ అర్రే
ఒకవేళ మీరు అన్ని నగర జాబితాను ఒకే సందేశ పెట్టెలో చూపించకూడదనుకుంటే, మీరు ఉచ్చులను చేర్చాలి, ఉచ్చుల కోసం మరో వేరియబుల్ను నిర్వచించండి.
ఇప్పుడు నెక్స్ట్ లూప్ కోసం చేర్చడానికి మనకు ఎన్నిసార్లు కోడ్ను అమలు చేయాలో ఖచ్చితంగా తెలియదు, ఈ సందర్భంలో, మేము దానిని 5 సార్లు లాగా నిర్ణయించగలము కాని సమస్యను చేరుకోవటానికి ఇది సరైన మార్గం కాదు. కాబట్టి ఆటో దిగువ మరియు ఉన్నత స్థాయి శ్రేణి పొడవు ఐడెంటిఫైయర్ ఆలోచన ఎలా ఉంటుంది ???
మేము తదుపరి లూప్ కోసం తెరిచినప్పుడు సాధారణంగా పరిస్థితిని బట్టి లూప్ పొడవును 1 నుండి 5 లేదా 1 నుండి 10 వరకు నిర్ణయిస్తాము. సంఖ్యలను మాన్యువల్గా నమోదు చేయడానికి బదులుగా తక్కువ విలువ మరియు ఎగువ విలువను స్వయంచాలకంగా నిర్ణయించడానికి LBOUND మరియు UBOUND ఫంక్షన్ను ఉపయోగిద్దాం.
ఎల్బౌండ్ మరియు ఉబౌండ్ కోసం నేను శ్రేణి పేరును అందించాను, అంటే సిటీలిస్ట్. VBA LBound శ్రేణి వేరియబుల్ యొక్క తక్కువ విలువను గుర్తిస్తుంది మరియు VBA UBound ఫంక్షన్ శ్రేణి వేరియబుల్ యొక్క ఎగువ విలువను గుర్తిస్తుంది.
ఇప్పుడు సందేశ పెట్టెలో విలువను చూపించు, క్రమ సంఖ్యను చొప్పించే బదులు లూప్ వేరియబుల్ “k” శ్రేణి విలువను స్వయంచాలకంగా తీసుకుందాం.
కోడ్:
సబ్ స్ట్రింగ్_అర్రే_ఎక్సాంపుల్ 1 () డిమ్ సిటీలిస్ట్ () వేరియంట్ డిమ్ కె గా ఇంటీజర్ సిటీలిస్ట్ = అర్రే ("బెంగళూరు", "ముంబై", "కోల్కతా", "హైదరాబాద్", "ఒరిస్సా") కోసం k = LBound (సిటీలిస్ట్) నుండి UBound (సిటీలిస్ట్) MsgBox సిటీలిస్ట్ (k) తదుపరి k ఎండ్ సబ్
ఇప్పుడు సందేశ పెట్టె ప్రతి నగర పేరును విడిగా చూపిస్తుంది.
ఉదాహరణ # 3
స్ప్లిట్ ఫంక్షన్తో VBA స్ట్రింగ్ అర్రే
ఇప్పుడు మీకు దిగువ వంటి నగర పేర్లు ఉన్నాయని అనుకోండి.
బెంగళూరు; ముంబై; కోల్కతా; హైడ్రాబాద్; ఒరిస్సా
ఈ సందర్భంలో, ప్రతి నగరాన్ని వేరుచేసే పెద్దప్రేగుతో అన్ని నగరాలు కలిసి ఉంటాయి. ఇటువంటి సందర్భాల్లో, ప్రతి నగరాన్ని వేరు చేయడానికి మేము SPLIT ఫంక్షన్ను ఉపయోగించాలి.
కోసం వ్యక్తీకరణ నగర జాబితాను సరఫరా చేయండి.
కోడ్:
సబ్ స్ట్రింగ్_అర్రే_ఎక్సాంపుల్ 2 () డిమ్ సిటీలిస్ట్ () స్ట్రింగ్ డిమ్ కె గా ఇంటీజర్ సిటీలిస్ట్ = స్ప్లిట్ ("బెంగళూరు; ముంబై; కోల్కతా; హైడ్రాబాద్; ఒరిస్సా", కె = ఎల్బౌండ్ (సిటీలిస్ట్) నుండి యుబౌండ్ (సిటీలిస్ట్) ఎంఎస్జిబాక్స్ సిటీలిస్ట్ (కె) తదుపరి కె ఎండ్ ఉప
తదుపరి వాదన “డీలిమిటర్” అనగా, ప్రతి నగరాన్ని ఇతర నగరాల నుండి వేరుచేసే ఒక పాత్ర ఏమిటి, ఈ సందర్భంలో, “కోలన్”.
కోడ్:
సబ్ స్ట్రింగ్_అర్రే_ఎక్సాంపుల్ 2 () డిమ్ సిటీలిస్ట్ () స్ట్రింగ్ డిమ్ కె యాస్ ఇంటీజర్ సిటీలిస్ట్ = స్ప్లిట్ ("బెంగళూరు; ముంబై; కోల్కతా; హైడ్రాబాద్; ఒరిస్సా", ";") k = LBound (సిటీలిస్ట్) నుండి UBound (సిటీలిస్ట్) MsgBox సిటీలిస్ట్ (k) ) తదుపరి k ఎండ్ సబ్
ఇప్పుడు SPLIT ఫంక్షన్ స్ప్లిట్ విలువలు అత్యధిక శ్రేణి పొడవును కూడా నిర్ణయిస్తాయి.
గుర్తుంచుకోవలసిన విషయాలు
- LBOUND మరియు UBOUND అనేది శ్రేణి పొడవులను నిర్ణయించే విధులు.
- ARRAY ఫంక్షన్ డిక్లేర్డ్ వేరియబుల్ కోసం చాలా విలువలను కలిగి ఉంటుంది.
- ఒకసారి మీరు ARRAY ఫంక్షన్ను ఉపయోగించాలనుకుంటే శ్రేణి పొడవును నిర్ణయించవద్దు.