VBA సబ్ స్ట్రింగ్ | VBA విధులను ఉపయోగించి సబ్స్ట్రింగ్ను ఎలా తీయాలి?
ఎక్సెల్ VBA సబ్ స్ట్రింగ్
సబ్ స్ట్రింగ్ అనేది స్ట్రింగ్ లేదా భాగం యొక్క భాగం లేదా స్ట్రింగ్ యొక్క అక్షరాన్ని “సబ్ స్ట్రింగ్” అని పిలుస్తారు .విబిఎ లెఫ్ట్, రైట్ మరియు ఎంఐడిలో మూడు రకాల సబ్స్ట్రింగ్ ఫంక్షన్ ఉన్నాయి, అవి ఎక్సెల్లోని వర్క్షీట్ సబ్స్ట్రింగ్ల మాదిరిగానే ఉంటాయి.
స్ట్రింగ్ ఏమీ కాదు, అక్షరాలు మరియు అక్షరాల శ్రేణి వర్ణమాలలు, సంఖ్యలు, ప్రత్యేక అక్షరాలు కావచ్చు మరియు వీటన్నింటినీ మిళితం చేస్తుంది.
మన ప్రయోజనాన్ని సులభతరం చేయడానికి స్ట్రింగ్ యొక్క భాగాన్ని మాత్రమే పొందాల్సిన స్ట్రింగ్ అయిన డేటాతో పనిచేసేటప్పుడు తరచుగా ఎక్సెల్ లో సార్లు. ఉపయోగించడానికి మాకు పూర్తి స్ట్రింగ్ అవసరం లేకపోవచ్చు కాని మన ఉపయోగం కోసం స్ట్రింగ్ యొక్క భాగం మాత్రమే అవసరం. ఉదాహరణకు, మీకు “సచిన్ టెండూల్కర్” అనే పేరు ఉంటే మీకు పేరు యొక్క మొదటి భాగం మాత్రమే అవసరం, అంటే “సచిన్” మాత్రమే. దీనిని ఎక్సెల్ VBA లోని స్ట్రింగ్ యొక్క సబ్ స్ట్రింగ్ అంటారు. ఈ తీగలను ఎదుర్కోవటానికి ఎక్సెల్ కేటగిరీలో టెక్స్ట్ ఫంక్షన్ కింద అంతర్నిర్మిత ఫంక్షన్లు ఉన్నాయి.
ఈ వ్యాసంలో, VBA లోని పూర్తి స్ట్రింగ్ నుండి సబ్స్ట్రింగ్ ఎలా పొందాలో చర్చించాము.
VBA లో సబ్ స్ట్రింగ్ విధులను ఎలా ఉపయోగించాలి?
స్ట్రింగ్ నుండి సబ్స్ట్రింగ్ను తీయడానికి మనకు కొన్ని అంతర్నిర్మిత టెక్స్ట్ ఫంక్షన్లు ఉన్నాయి మరియు కొన్ని ముఖ్యమైన విధులు ఎక్సెల్లో LEFT, RIGHT, INSTR మరియు MID. ఫంక్షన్ Instr ఇతర మూడు ఫంక్షన్లకు సహాయక విధిగా ఉపయోగపడుతుంది.
సబ్స్ట్రింగ్లను ఆచరణాత్మకంగా సేకరించేందుకు ఈ ఫంక్షన్లను ఎలా ఉపయోగించాలో చూద్దాం. వాటిని అర్థం చేసుకోవడానికి క్రింది ఉదాహరణలను చదవండి.
మీరు ఈ VBA సబ్ స్ట్రింగ్ ఎక్సెల్ మూసను ఇక్కడ డౌన్లోడ్ చేసుకోవచ్చు - VBA సబ్స్ట్రింగ్ ఎక్సెల్ మూసఉదాహరణ # 1 - ఎడమ ఫంక్షన్ను ఉపయోగించడం
మీకు పూర్తి పేరు ఉంటే “సచిన్ టెండూల్కర్” మరియు సబ్స్ట్రింగ్ ఈ క్రింది కోడ్ను పొందడానికి అదే విధంగా పొందడానికి మీరు సేకరించిన మొదటి పేరు మాత్రమే అవసరం.
దశ 1: స్థూల పేరును సృష్టించండి మరియు రెండు వేరియబుల్ను స్ట్రింగ్గా నిర్వచించండి.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 1 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ ఫస్ట్నేమ్ స్ట్రింగ్ ఎండ్ సబ్
దశ 2: ఇప్పుడు వేరియబుల్కు “సచిన్ టెండూల్కర్” పేరును కేటాయించండి పూర్తి పేరు.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 1 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ ఫస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" ఎండ్ సబ్
దశ 3: ఇప్పుడు వేరియబుల్ పూర్తి పేరు “సచిన్ టెండూల్కర్” విలువను కలిగి ఉండండి. ఇప్పుడు మనం మొదటి పేరు యొక్క ఎక్సెల్ VBA సబ్స్ట్రింగ్ను పూర్తి పేరు నుండి సేకరించాలి. కాబట్టి, వేరియబుల్ కోసం విలువను కేటాయించండి మొదటి పేరు LEFT ఫంక్షన్ ద్వారా.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 1 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ ఫస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" ఫస్ట్ నేమ్ = లెఫ్ట్ (ఎండ్ సబ్
దశ 4: VBA ఎడమ ఫంక్షన్ మొదటి వాదన స్ట్రింగ్, అది పూర్తి విలువ లేదా పూర్తి స్ట్రింగ్. ఈ ఉదాహరణలో, మా పూర్తి విలువ లేదా స్ట్రింగ్ వేరియబుల్కు కేటాయించిన “సచిన్ టెండూల్కర్” పూర్తి పేరు.
కాబట్టి సరఫరా వేరియబుల్ పూర్తి పేరు వాదనగా.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 1 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ ఫస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" ఫస్ట్ నేమ్ = లెఫ్ట్ ఎండ్ సబ్
దశ 5: తదుపరిది వాదన ఏమిటంటే మనం సరఫరా చేసిన స్ట్రింగ్ నుండి మనకు ఎన్ని అక్షరాలు అవసరం, కాబట్టి ఈ సందర్భంలో, మాకు మొదటి పేరు అవసరం “సచిన్”కాబట్టి పూర్తిగా మనకు అవసరం 6 అక్షరాలు ఎడమ వైపు నుండి.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 1 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ ఫస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" ఫస్ట్ నేమ్ = లెఫ్ట్ (ఫుల్ నేమ్, 6) ఎండ్ సబ్
దశ 6: ఇప్పుడు ఫలితాన్ని VBA లోని సందేశ పెట్టెలో చూపించు.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 1 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ ఫస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" ఫస్ట్ నేమ్ = లెఫ్ట్ (ఫుల్ నేమ్, 6) ఎంఎస్జిబాక్స్ ఫస్ట్ నేమ్ ఎండ్ సబ్
దశ 7: మాక్రోను రన్ చేయండి మొదటి పెట్టెను సందేశ పెట్టెలో సబ్స్ట్రింగ్గా చూడండి.
ఉదాహరణ # 2 - కుడి నుండి సబ్ స్ట్రింగ్ పొందండి
మేము ఎడమ నుండి సబ్స్ట్రింగ్ను ఎలా తీశామో అదేవిధంగా మనం కుడి నుండి కూడా తీయవచ్చు. అదే పేరును ఉదాహరణగా తీసుకోండి.
దశ 1: రెండు వేరియబుల్స్ ను స్ట్రింగ్ గా నిర్వచించండి.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 2 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ లాస్ట్ నేమ్ స్ట్రింగ్ ఎండ్ సబ్
దశ 2: ఎప్పటిలాగే వేరియబుల్కు విలువను కేటాయించండి పూర్తి పేరు గా “సచిన్ టెండూల్కర్”
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 2 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ లాస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" ఎండ్ సబ్
దశ 3: ఇప్పుడు వేరియబుల్ కోసం చివరి పేరు RIGHT ఎక్సెల్ ఫంక్షన్ ద్వారా విలువను కేటాయించండి.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 2 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ లాస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" లాస్ట్ నేమ్ = రైట్ (ఎండ్ సబ్
దశ 4: స్ట్రింగ్ మాది పూర్తి పేరు కాబట్టి వేరియబుల్ సరఫరా.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 2 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ లాస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" లాస్ట్ నేమ్ = రైట్ (ఫుల్ నేమ్, ఎండ్ సబ్
దశ 5: పొడవు అంటే మనకు కుడి వైపు నుండి ఎన్ని అక్షరాలు కావాలి, మనకు అవసరం 9 అక్షరాలు కుడి వైపు నుండి.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 2 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ లాస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" లాస్ట్ నేమ్ = రైట్ (ఫుల్ నేమ్, 9) ఎండ్ సబ్
దశ 6: ఈ విలువను చూపించు సందేశ పెట్టె.
కోడ్:
సబ్ సబ్ స్ట్రింగ్_ఎక్సాంపుల్ 2 () డిమ్ ఫుల్ నేమ్ స్ట్రింగ్ డిమ్ లాస్ట్ నేమ్ స్ట్రింగ్ ఫుల్ నేమ్ = "సచిన్ టెండూల్కర్" లాస్ట్ నేమ్ = రైట్ (ఫుల్ నేమ్, 9) ఎంఎస్జిబాక్స్ లాస్ట్ నేమ్ ఎండ్ సబ్
దశ 7: మాక్రోను అమలు చేయండి మేము సందేశ పెట్టెలో చివరి పేరును చూస్తాము.
ఉదాహరణ # 3 - ఇన్స్ట్రర్ ఫంక్షన్ను ఉపయోగించడం
పై ఉదాహరణలలో, మాకు ఒకే పేరు ఉంది మరియు ఎడమ మరియు కుడి నుండి మనకు ఎన్ని అక్షరాలు అవసరమో నేరుగా అందించాము. చాలా పేర్ల విషయంలో మొదటి పేరు & చివరి పేరు అక్షరాలు ఒకేలా ఉండకపోతే, ఇది పేరు నుండి పేరుకు భిన్నంగా ఉంటుంది. ఆ సందర్భాలలో, మేము అక్షరాల సంఖ్యను నేరుగా సరఫరా చేయలేము కాబట్టి మనం ఫంక్షన్ను ఉపయోగించవచ్చు Instr.
Instr ఫంక్షన్ స్ట్రింగ్లో సరఫరా చేయబడిన అక్షర స్థానాన్ని తిరిగి ఇస్తుంది. ఉదాహరణకు ఈ క్రింది కోడ్ను చూడండి.
కోడ్:
ఉప సబ్స్ట్రింగ్_ఎక్సాంపుల్ 3 () స్ట్రింగ్ పొజిషన్గా మసక స్థానం = ఇన్స్ట్రా (1, "సచిన్", "ఎ") MsgBox స్థానం ముగింపు ఉప
InStr (1, “సచిన్”, “ఎ”) ఇది అక్షరం యొక్క స్థానాన్ని గుర్తిస్తుంది “అ” స్ట్రింగ్లో మొదటి ప్రదర్శనగా “సచిన్”. ఈ సందర్భంలో లేఖ “అ” రెండవ స్థానంలో ఉంది. కాబట్టి సందేశ పెట్టెలో మనకు 2 లభిస్తుంది.
ఇలా, మనం ఉపయోగించవచ్చు Instr మొదటి పేరు మరియు చివరి పేరు మధ్య ఖాళీ అక్షరాన్ని కనుగొనడం.
ఉదాహరణ కోసం నేను ఎక్సెల్ షీట్లో ఉన్న దిగువ పేరును చూడండి.
ఉపయోగించి ఎడమ, కుడి, మరియు ఇన్స్ట్రార్ ఫంక్షన్ మేము సబ్స్ట్రింగ్స్ను తీయవచ్చు. మొదటి పేరును సేకరించే కోడ్ క్రింద ఉంది.
కోడ్:
సబ్ ఫస్ట్ నేమ్ () డిమ్ కె లాంగ్ డిమ్ ఎల్ఆర్ లాంగ్ ఎల్ఆర్ = సెల్స్ (అడ్డు వరుసలు. 1) .ఎండ్ (xIUp) .కె = 2 ఎల్ఆర్ కణాలకు (కె, 2) .వాల్యూ = ఎడమ (కణాలు (కె, 1) .వాల్యూ, ఇన్స్ట్రా (1, కణాలు (కె, 1). విలువ, "") - 1) తదుపరి కె ఎండ్ సబ్
మాక్రోను అమలు చేయండి మరియు సందేశ పెట్టెలో మొదటి పేరును సబ్స్ట్రింగ్గా చూడండి.
చివరి పేరును సబ్స్ట్రింగ్గా సేకరించేందుకు క్రింది కోడ్ను ఉపయోగించండి.
కోడ్:
సబ్ లాస్ట్ నేమ్ () డిమ్ కె లాంగ్ డిమ్ ఎల్ఆర్ లాంగ్ ఎల్ఆర్ = సెల్స్ (అడ్డు వరుసలు, 1) .ఎండ్ (xIUp) .కె = 2 ఎల్ఆర్ కణాలకు (కె, 3) .వాల్యూ = కుడి (కణాలు (కె, 1) .వాల్యూ, లెన్ (కణాలు (కె, 1)) - ఇన్స్ట్రా (1, కణాలు (కె, 1). విలువ, "")) తదుపరి కె ఎండ్ సబ్
స్థూలతను అమలు చేయండి మరియు మేము సందేశ పెట్టెలో చివరి పేరును చూస్తాము.
నేను వర్క్షీట్కు స్థూల బటన్ను కేటాయించాను, వర్క్బుక్ను డౌన్లోడ్ చేసాను మరియు వాటిని ఉపయోగిస్తాను.