విషయ సూచిక
Excel VBA కోడ్లతో పని చేస్తున్నప్పుడు, సంక్లిష్టమైన పనిని చిన్న వన్-లైన్ కోడ్గా మార్చే కొన్ని అంతర్నిర్మిత ఫంక్షన్లను మేము చూస్తాము. InStr అనేది Excel VBAలో అందుబాటులో ఉన్న అటువంటి ఫంక్షన్, ఇది ఇచ్చిన స్థానం నుండి ప్రారంభించి మరొక ఇచ్చిన స్ట్రింగ్లో నిర్దిష్ట స్ట్రింగ్ కోసం శోధిస్తుంది. ఇవ్వబడిన మరొక స్ట్రింగ్లో నిర్దిష్ట స్ట్రింగ్ కోసం శోధించడానికి మీరు VBAలో InStr ఫంక్షన్ను ఎలా ఉపయోగించవచ్చో ఈ రోజు నేను చూపుతున్నాను.
ప్రాక్టీస్ వర్క్బుక్ని డౌన్లోడ్ చేయండి
InStr Function.xlsm
VBA InStr ఫంక్షన్
- పరిచయం సారాంశం
ఇచ్చిన స్థానం నుండి ప్రారంభించి, ఇచ్చిన స్ట్రింగ్లో నిర్దిష్ట స్ట్రింగ్ కోసం శోధిస్తుంది. సరిపోలికను కనుగొంటే, మ్యాచ్ ప్రారంభమైన చోట నుండి ఇచ్చిన స్ట్రింగ్లోని స్థానాన్ని అందిస్తుంది.
- సింటాక్స్
InStr([ప్రారంభం ],string1,string2,[compare])
- వాదనలు
వాదన | అవసరం | వివరణ
|
---|---|---|
[ప్రారంభం] | ఐచ్ఛికం | ఇది శోధనను ప్రారంభించే స్థానం. డిఫాల్ట్ 1. |
స్ట్రింగ్1 | అవసరం | ఇచ్చిన స్ట్రింగ్ కోసం శోధించే స్ట్రింగ్. |
string2 | అవసరం | అది ఇచ్చిన స్ట్రింగ్లో శోధించే స్ట్రింగ్. |
[compare] | ఐచ్ఛికం | పోలిక రకాన్ని పేర్కొనే {-1,0,1,2} మధ్య సంఖ్యా విలువ. దిడిఫాల్ట్ -1 (vbUseCompareOption). ఆప్షన్ కంపేర్ స్టేట్మెంట్ పేర్కొనబడకపోతే, బైనరీ పోలికను నిర్వహించండి. |
గమనిక:
- అయితే [ప్రారంభించు] ఆర్గ్యుమెంట్ మరియు [compare] ఆర్గ్యుమెంట్ ఐచ్ఛికం, మీరు [compare] ఆర్గ్యుమెంట్ని పేర్కొంటే మీకు [start] ఆర్గ్యుమెంట్ అవసరం. లేకపోతే, అది లోపాన్ని లేవనెత్తుతుంది.
- ఒకవేళ [start] ఆర్గ్యుమెంట్ మరియు [compare] ఆర్గ్యుమెంట్లో ఒకటి లేదా రెండూ Null<2 అయితే>, మీరు ఎర్రర్ను ఎదుర్కొంటారు.
- [compare] ఆర్గ్యుమెంట్లోని నాలుగు పేర్కొన్న విలువలు నాలుగు విభిన్న రకాల పోలికలను నిర్వహిస్తాయి. అవి క్రింద పేర్కొనబడ్డాయి:
విలువ | నిరంతర | 1>వివరణ
|
---|---|---|
-1 | vbUseCompareOption | లో పేర్కొన్న పోలికను అమలు చేస్తుంది ఆప్షన్ కంపేర్ స్టేట్మెంట్. |
0 | vbBinaryCompare | బైనరీ పోలికను నిర్వహిస్తుంది. |
1 | vbTextCompare | వచన పోలికను నిర్వహిస్తుంది. |
2 | vbDatabaseCompare | మీ డేటాబేస్ ఆధారంగా పోలికను నిర్వహిస్తుంది . |
- ఎంపిక సరిపోల్చండి స్టేట్మెంట్ అనేది ప్రధాన VBA కోడ్ ప్రారంభమయ్యే ముందు అందించబడిన స్టేట్మెంట్. అవసరమైనప్పుడు కోడ్ బైనరీ పోలిక లేదా టెక్స్ట్ పోలిక కోసం శోధించాలో లేదో ఇది నిర్దేశిస్తుంది.
ఐచ్ఛికం వచనాన్ని సరిపోల్చండి
-
- సాధారణ పదాలలో , బైనరీ పోలిక అంటే కేస్-సెన్సిటివ్పోలిక.
- సాధారణ పరంగా , టెక్స్ట్ పోలిక అంటే కేస్-సెన్సిటివ్ పోలిక.
- రిటర్న్ వాల్యూ
- string2 ప్రారంభమైన string1 లో స్థానాన్ని అందిస్తుంది.
- ఒకవేళ string2 కనుగొనబడకపోతే string1 లోపల ప్రారంభ స్థానం నుండి ప్రారంభించి, 0ని అందిస్తుంది.
- string1 సున్నా-పొడవు ఉంటే, 0ని అందిస్తుంది.
- string2 సున్నా-పొడవుతో ఉంటే, ప్రారంభం ఆర్గ్యుమెంట్ని అందిస్తుంది.
- చివరిగా, string1 లేదా string2 Null , లోపాన్ని అందిస్తుంది.
VBA InStr ఫంక్షన్
లో ఉపయోగించడానికి 3 సులభమైన ఉదాహరణలు ఈ విభాగంలో, Excelలో VBA InStr ఫంక్షన్ని వర్తింపజేయడానికి మేము మూడు సులభమైన ఉదాహరణలను చూస్తాము. VBA కోడ్లలో InStr ఫంక్షన్ యొక్క మొదటి ఉదాహరణను చూద్దాం.
1. VBA InStr ఫంక్షన్ని ఉపయోగించడం ద్వారా అడ్రస్ ఇమెయిల్ అడ్రస్ కాదా కాదా అని నిర్ణయించడం
ఇక్కడ, మేము కస్టమర్ల యొక్క కొన్ని సంప్రదింపు చిరునామాలను కలిగి ఉన్న డేటా సెట్ని తీసుకున్నాము. చిరునామాలు ఇమెయిల్ చిరునామాలు కాదా అని గుర్తించడం ఇక్కడ మా లక్ష్యం.
ఇప్పుడు మేము గుర్తించడానికి InStr ఫంక్షన్ని ఉపయోగించి VBA కోడ్ని అభివృద్ధి చేస్తాము. అది ఇమెయిల్ చిరునామా కాదా. అలా చేయడానికి, దిగువ దశలను అనుసరించండి.
దశలు:
- ప్రారంభంలో, డెవలపర్ ట్యాబ్కి వెళ్లి విజువల్ బేసిక్ (లేదా VBA ని తెరవడానికి Alt+F11) నొక్కండిwindow.
- అప్పుడు, VBA విండోలో, Insert > మాడ్యూల్ .
- ఆ తర్వాత, మాడ్యూల్పై, కింది కోడ్ను అతికించండి:
4470
- అంతేకాకుండా, మేము DECISION అనే ఫంక్షన్ని సృష్టించాము. ఇది చిరునామా ఇమెయిల్ చిరునామా కాదా అని నిర్ణయిస్తుంది. మన వద్ద ఉన్న డేటా సెట్కి ఫంక్షన్ని వర్తింపజేద్దాం.
- సెల్ C5 లో, క్రింది సూత్రాన్ని వ్రాసి, ఆపై ఫిల్ హ్యాండిల్ ని ఉపయోగించి మిగిలిన సెల్లను ఆటోఫిల్ చేయండి.
=DECISION(B5)
- మేము చూడగలిగినట్లుగా, మేము ప్రతి చిరునామాను అది ఇమెయిల్ చిరునామా కాదా అని గుర్తించాము. లేదా కాదు.
🎓 కోడ్ ఎలా పని చేస్తుంది?
- ఫంక్షన్ డెసిషన్(స్ట్రింగ్1 స్ట్రింగ్గా)
మొదట, ఇది నిర్ణయం అనే ఫంక్షన్ని సృష్టిస్తుంది స్ట్రింగ్ ఆర్గ్యుమెంట్ పేరు string1 .
- డిమ్ పొజిషన్ ఇన్ పూర్ణాంకం 2>.
- స్థానం = InStr(1, string1, “@”, 0)
ఇది విలువను కేటాయిస్తుంది 1, string1, “@” మరియు 0 ఆర్గ్యుమెంట్లతో InStr ఫంక్షన్ యొక్క అవుట్పుట్గా స్థానం వేరియబుల్. సంక్షిప్తంగా, ఇది “@” ఉన్న చిరునామాలో స్థానాన్ని కేటాయిస్తుంది.
- అయితే స్థానం = 0 అప్పుడు DECISION = “ఇమెయిల్ కాదు”
ఇది నిర్ణయం ఫంక్షన్ యొక్క అవుట్పుట్ను “ఇమెయిల్ కాదు” గా కేటాయిస్తుంది, అయితే స్థానం వేరియబుల్ 0 , అంటే, చిరునామాలో “@” ఏదీ లేదు.
(ఇచ్చిన స్ట్రింగ్లో ఏదైనా స్ట్రింగ్ కనుగొనబడకపోతే రీకాల్ చేయండి, InStr ఫంక్షన్ 0 ని అందిస్తుంది).
- Else DECISION = “Email”
ఇది కేటాయించింది చిరునామాలో “@” ఉంటే “ఇమెయిల్” గా DECISION ఫంక్షన్ అవుట్పుట్. ఆ విధంగా “@” ఉన్న చిరునామాలు ఇమెయిల్ గా వర్గీకరించబడ్డాయి మరియు మిగిలినవి “ఇమెయిల్ కాదు” .
గా వర్గీకరించబడ్డాయి. ఇలాంటి రీడింగ్లు
- Excelలో VBA UCASE ఫంక్షన్ను ఎలా ఉపయోగించాలి (4 ఉదాహరణలు)
- Excel VBAలో MsgBox ఫంక్షన్ని ఉపయోగించండి (పూర్తి గైడ్లైన్)
- Excelలో VBA SPLIT ఫంక్షన్ను ఎలా ఉపయోగించాలి (5 ఉదాహరణలు)
- Excelలో VBAలో LCase ఫంక్షన్ని ఉపయోగించండి (దీనితో 4 ఉదాహరణలు)
- Excel VBAలో ఫిక్స్ ఫంక్షన్ని ఎలా ఉపయోగించాలి (4 ఉదాహరణలు)
2. కొన్ని ఇమెయిల్ చిరునామాల పొడిగింపును సంగ్రహించడం కోసం VBA InStr ఫంక్షన్ని ఉపయోగించడం
ఇక్కడ, మేము కొంతమంది కస్టమర్ల యొక్క కొన్ని ఇమెయిల్ చిరునామాల జాబితాను కలిగి ఉన్నాము. ఈసారి మేము వారికి gmail.com లేదా yahoo.com వంటి ఇమెయిల్ చిరునామా యొక్క పొడిగింపును సంగ్రహిస్తాము.
అలా చేయడానికి, దిగువ దశలను అనుసరించండి.
దశలు:
- మునుపటి పద్ధతి వలె ప్రారంభించడానికి, కొత్త VBA<2ని తెరవండి> విండోలో కింది కోడ్ని మాడ్యూల్ చేసి అతికించండి.
8291
- అదనంగా, మేము అనే ఫంక్షన్ని సృష్టించాము పొడిగింపు . ఇది ఏదైనా ఇమెయిల్ చిరునామా యొక్క పొడిగింపును సంగ్రహిస్తుంది.
- అంతేకాకుండా, మన వద్ద ఉన్న డేటా సెట్కు ఈ ఫంక్షన్ని వర్తింపజేద్దాం. ముందుగా, సెల్ C5 లో ఈ సూత్రాన్ని నమోదు చేసి, ఆపై ఫిల్ హ్యాండిల్ పై డబుల్ క్లిక్ చేయండి.
=EXTENSION(B5)
- చివరిగా, మేము అన్ని ఇమెయిల్ల పొడిగింపును విజయవంతంగా సంగ్రహించినట్లు చూడవచ్చు.
🎓 కోడ్ ఎలా పని చేస్తుంది?
- ఫంక్షన్ ఎక్స్టెన్షన్(స్ట్రింగ్గా ఇమెయిల్ చేయండి)
ఇది ఎక్స్టెన్షన్ అనే కొత్త ఫంక్షన్ను సృష్టిస్తుంది స్ట్రింగ్ ఆర్గ్యుమెంట్ పేరు ఇమెయిల్ .
- పూర్ణాంకం వలె డిమ్ పొజిషన్
ఈ భాగం స్థానం పేరుతో పూర్ణాంక వేరియబుల్ని ప్రకటించింది .
- స్థానం = InStr(1, ఇమెయిల్, “@”, 0)
ఇది <1 విలువను కేటాయిస్తుంది 1, ఇమెయిల్, “@” మరియు 0 ఆర్గ్యుమెంట్లతో InStr ఫంక్షన్ యొక్క అవుట్పుట్గా>పొజిషన్ వేరియబుల్. సంక్షిప్తంగా, ఇది “@” ఉన్న ఇమెయిల్ లో స్థానాన్ని కేటాయిస్తుంది.
- EXTENSION = కుడి(ఇమెయిల్, (లెన్ (ఇమెయిల్) – స్థానం))
ఈ భాగం “@” గుర్తు తర్వాత అక్షరాలుగా EXTENSION ఫంక్షన్ యొక్క అవుట్పుట్ను కేటాయిస్తుంది. ఇది ఇమెయిల్ కి అవసరమైన పొడిగింపు.
3. VBA InStr ఫంక్షన్ని ఉపయోగించడం ద్వారా పేరు నుండి మొదటి లేదా చివరి పేరును సంగ్రహించడం
చివరిగా, మేము ప్రత్యేకంగా విభిన్నమైన పనిని చేస్తాము. ఈసారి కొంతమంది ఉద్యోగుల పేర్లు ఉన్నాయిఒక సంస్థ. మరియు మేము ఉద్యోగుల మొదటి పేరు లేదా చివరి పేరుని సంగ్రహించడానికి ఒక ఫంక్షన్ను రూపొందించడానికి ప్రయత్నిస్తాము.
అలా చేయడానికి, దిగువ దశలను అనుసరించండి.
దశలు:
- మొదట, పద్ధతి 1 మాదిరిగానే, దిగువ కోడ్ను VBA విండోలో కొత్త మాడ్యూల్లో అతికించండి.
7218
- ఇక్కడ, మేము పేరు నుండి మొదటి పేరు లేదా చివరి పేరుని సంగ్రహించే SHORTNAME అనే ఫంక్షన్ని సృష్టించాము. ఈ ఫార్ములాను మన డేటా సెట్కి వర్తింపజేద్దాం.
- మొదట, మొదటి పేరును సంగ్రహించడానికి, క్రింద ఉన్న ఫార్ములాను సెల్ C5 లో రాయండి.
=SHORTNAME(B5,-1)
- చివరిగా, చివరి పేర్లను సంగ్రహించడానికి, మేము క్రింది సూత్రాన్ని D5 : లో వ్రాస్తాము. 11>
- తర్వాత, మేము ఫిల్ హ్యాండ్లర్<2తో మిగిలిన సెల్లను ఆటో-ఫిల్ చేస్తే>, మేము కోరుకున్న ఫలితాన్ని చూస్తాము.
- ఫంక్షన్ SHORTNAME(పేరు స్ట్రింగ్గా పేరు, మొదటి_లేదా_చివరి పూర్ణాంకం)
- డిమ్ బ్రేక్ యాజ్ పూర్ణాంకం
- బ్రేక్ = InStr(1, Name, ” “, 0) <10
- First_or_Last = -1 అప్పుడు SHORTNAME = ఎడమ(పేరు, విరామం – 1)
- SHORTNAME = కుడి(పేరు, లెన్(పేరు) – బ్రేక్)
=SHORTNAME(B5,1)
🎓 కోడ్ ఎలా పని చేస్తుంది?
ఇది SHORTNAME<2 అనే కొత్త ఫంక్షన్ని సృష్టిస్తుంది> పేరు పేరుతో ఒక స్ట్రింగ్ ఆర్గ్యుమెంట్ మరియు మొదటి_లేదా_చివరి పేరుతో ఒక పూర్ణాంకం ఆర్గ్యుమెంట్.
ఈ భాగం బ్రేక్ పేరుతో కొత్త పూర్ణాంక వేరియబుల్ని ప్రకటించింది.
ఇది Break వేరియబుల్ విలువను ఆర్గ్యుమెంట్లతో InStr ఫంక్షన్ అవుట్పుట్గా కేటాయిస్తుంది 1, పేరు, “ ” మరియు 0 . సంక్షిప్తంగా, ఇది పేరు లో స్పేస్ (“ ”) ఉన్న స్థానాన్ని కేటాయిస్తుంది.
ఈ లైన్ SHORTNAME ఫంక్షన్ యొక్క అవుట్పుట్ని స్పేస్ కి ముందు అక్షరాలుగా కేటాయిస్తుంది, First_or_Last వాదన -1 అయితే. ఇది మొదటి పేరు.
ఈ భాగం యొక్క అవుట్పుట్ను కేటాయిస్తుంది మొదటి_లేదా_చివరి ఆర్గ్యుమెంట్ 1 అయితే, SHORTNAME స్పేస్ తర్వాత అక్షరాలుగా పని చేస్తుంది. ఇది చివరి పేరు.
తీర్మానం
ఈ విధంగా, మీరు InStr ఫంక్షన్తో VBA కోడ్లను వ్రాయవచ్చు, ఇది నిర్దిష్ట స్ట్రింగ్ యొక్క స్థానాన్ని మరొకదానిలో కనుగొనబడుతుంది స్ట్రింగ్, ఆపై మీరు వివిధ ఉపయోగాల కోసం మీ స్వంత ఫంక్షన్లను సృష్టించవచ్చు. ఇంకా, మీకు ఏవైనా ప్రశ్నలు ఉంటే, మమ్మల్ని అడగడానికి సంకోచించకండి.