فهرست
په داسې حال کې چې د ایکسل VBA کوډونو سره کار کوي، موږ د یو څو جوړ شوي فنکشنونو سره مخ کیږو چې پیچلې دنده په کوچني یو لاین کوډ بدلوي. InStr یو داسې فنکشن دی چې په Excel VBA کې شتون لري چې د یو ځانګړي سټینګ لپاره په بل ورکړل شوي سټینګ کې لټون کوي د یو ورکړل شوي موقعیت څخه پیل کیږي. نن زه به وښیم چې تاسو څنګه کولی شئ په VBA کې د InStr فنکشن په بل ورکړل شوي سټینګ کې د ځانګړي تار لټون کولو لپاره وکاروئ.
د تمرین کاري کتاب ډاونلوډ کړئ
InStr Function.xlsm
پیژندنه د VBA InStr فنکشن
- لنډیز
په یوه ټاکلي تار کې د یو ځانګړي سټرینګ لټون کوي، د یو ټاکل شوي موقف څخه پیل کیږي. که یو میچ ومومي، په ورکړل شوي تار کې موقعیت بیرته راګرځوي له کوم ځای څخه چې لوبه پیل شوې.
- نحو
InStr([start ],string1,string2,[ compare])
- دلیلونه
استدلال | ضرورت | وضاحت
|
---|---|---|
[پیل] | اختیاري | هغه موقعیت چې دا به لټون پیل کړي. ډیفالټ 1 دی. |
سټرینګ 1 | اړین دی | هغه تار چې دننه دا د ورکړل شوي تار لټون کوي. |
سټرینګ2 | اړین | هغه تار چې دا په ورکړل شوي تار کې لټوي. |
[پرتله] | اختیاري | د {-1,0,1,2} ترمنځ یو شمیري ارزښت چې د پرتله کولو ډول مشخصوي. دډیفالټ -1 دی (vbUseCompareOption). که د اختیار پرتله کولو بیان مشخص شوی نه وي، د بائنری پرتله کول ترسره کړئ. |
یادونه:
- که څه هم [start] استدلال او د [compare] استدلال اختیاري دي، تاسو د [start] استدلال ته اړتیا لرئ که تاسو د [پرتله] دلیل مشخص کړئ. که نه نو، دا به یوه تېروتنه رامنځته کړي.
- که یو یا دواړه د [start] دلیل او د [compare] دلیل Null<2 وي>، تاسو به د یوې تېروتنې سره مخ شئ.
- په [پرتله] دلیل کې څلور ټاکل شوي ارزښتونه د پرتله کولو څلور مختلف ډولونه ترسره کوي. دوی لاندې ذکر شوي دي:
VALUE | کانسټنټ | تفصیل
|
---|---|---|
-1 | vbUseCompareOption | په کې مشخص شوي پرتله کول ترسره کوي د اختیار پرتله کولو بیان. |
0 | vbBinary Compare | د بائنري پرتله کول ترسره کوي. |
1<د متن پرتله کول ترسره کوي. . |
- اختیار پرتله کول بیان یو بیان دی مخکې له دې چې د اصلي VBA کوډ پیل شي. دا مشخص کوي چې ایا کوډ به د اړتیا په وخت کې د بائنري پرتله کولو یا د متن پرتله کولو لټون وکړي.
اختیار پرتله کول متن
-
- په ساده اصطلاحاتو کې ، د بائنری پرتله معنی د قضیې حساسپرتله کول.
- په ساده اصطلاحاتو ، د متن پرتله کول مطلب د قضیې غیر حساس پرتله کول.
- د بیرته ستنیدو ارزښت
- په سټرینګ1 کې هغه موقعیت بیرته راګرځوي چې له هغه ځایه چې سټرینګ2 پیل شوی.
- په هغه صورت کې چې سټرینګ2 ونه موندل شي د سټرینګ 1 دننه د پیل موقعیت څخه پیل کیږي، 0 بیرته راګرځي.
- که د سټرینګ 1 د صفر اوږدوالی وي، 0 بیرته راګرځي.
- که د سټرینګ 2 د صفر اوږدوالی وي، دلیل بیرته راګرځي پیل .
- او په پای کې، که کوم یو سټرینګ 1 یا string2 Null دی، یوه تېروتنه راګرځوي.
د VBA InStr فنکشن کارولو لپاره 3 اسانه مثالونه
په پدې برخه کې، موږ به په Excel کې د VBA InStr فعالیت پلي کولو درې اسانه مثالونه وګورو. راځئ چې د VBA کوډونو کې د InStr فنکشن لومړۍ بیلګه وګورو.
1. دا پریکړه کول چې ایا پته د بریښنالیک پته ده یا نه د VBA InStr فنکشن په کارولو سره
دلته، موږ د پیرودونکو د اړیکو ځینې پتې لري د معلوماتو سیټ اخیستی. دلته به زموږ موخه دا وي چې دا پته ولګوو چې ایا بریښنالیک پتې دي که نه.
اوس به موږ د VBA کوډ رامینځته کړو چې د InStr فکشن په کارولو سره پیژندل کیږي ایا دا د بریښنالیک پته ده یا نه. د دې کولو لپاره، لاندې مرحلې تعقیب کړئ.
مرحلې:
- په پیل کې، Developer ټب ته لاړ شئ او غوره کړئ بصری اساسی (یا Alt+F11) د خلاصولو لپاره فشار ورکړئ VBA کړکۍ.
- بیا، په VBA کړکۍ کې، Insert > ته لاړ شئ. ماډل .
- وروسته په موډل کې لاندې کوډ پیسټ کړئ:
5708
- سربيره پردې، موږ د پريکړه په نوم يو فنکشن جوړ کړی دی. دا پریکړه کوي چې ایا پته د بریښنالیک پته ده یا نه. راځئ چې فنکشن په هغه ډیټا سیټ کې پلي کړو چې موږ یې لرو.
- په سیل C5 کې، لاندې فورمول ولیکئ او بیا د Fill Handle په کارولو سره پاتې حجرې اتومات کړئ.
=DECISION(B5)
- لکه څنګه چې موږ لیدلی شو، موږ هره پته پیژني چې ایا دا بریښنالیک پته ده که نه که نه.
🎓 کوډ څنګه کار کوي؟
- فکشن پریکړه د سټرینګ دلیل string1 په نوم یادیږي.
- د انټیجر په توګه ټیټ موقعیت
دا د پوزیشن<په نوم یو بشپړ متغیر اعلانوي 2>.
- پوزیشن = InStr(1, string1, “@”, 0)
دا د ارزښت ټاکي موقعیت متغیر د InStr فنکشن د محصول په توګه د دلیلونو 1، string1، "@" او 0 سره. په لنډه توګه، دا په پته کې موقعیت ټاکي چیرې چې یو “@” شتون لري.
- که چیرې موقعیت = 0 نو بیا پریکړه = "بریښنالیک نه"
دا د پریکړه فنکشن محصول د "ای میل نه دی" په توګه ګماري، که د پوزیشن متغیر دی 0 ، پدې معنی چې په پته کې هیڅ “@” شتون نلري.
(په یاد ولرئ که چیرې کوم تار په ورکړل شوي تار کې ونه موندل شي، InStr فنکشن بیرته راګرځي 0 ).
- بله پریکړه = "بریښنالیک"
دا د پریکړه فعالیت د "بریښنالیک" په توګه تولید کړئ که چیرې په پته کې "@" شتون ولري. په دې توګه هغه پتې چې هلته "@" وي د برېښنالیک په توګه طبقه بندي شوي، او پاتې نور د "بریښنالیک نه" په توګه طبقه بندي شوي.
ورته لوستل
- په Excel کې د VBA UCASE فنکشن کارولو څرنګوالی (4 مثالونه)
- په Excel VBA کې د MsgBox فنکشن وکاروئ (یو بشپړ لارښود)
- په Excel کې د VBA SPLIT فنکشن کارولو څرنګوالی (5 مثالونه)
- په ایکسل کې VBA کې د LCase فنکشن وکاروئ (سره 4 مثالونه)
- په Excel VBA کې د فکس فنکشن کارولو څرنګوالی (4 مثالونه)
2. د VBA InStr فنکشن څخه ګټه پورته کول د ځینو بریښنالیک پتې د تمدید استخراج
دلته، موږ د ځینو پیرودونکو د بریښنالیک پتې لیست لرو. دا ځل به موږ د بریښنالیک آدرس توسیع راوباسي لکه ایا دوی gmail.com یا yahoo.com لري.
د دې کولو لپاره، لاندې مرحلې تعقیب کړئ.
مرحلې:
- د پیل کولو لپاره، د پخوانۍ طریقې په څیر، یو نوی VBA<2 پرانیزئ لاندې کوډ موډل کړئ او په کړکۍ کې یې پیسټ کړئ.
9619
- سربیره پردې، موږ یو فنکشن جوړ کړی چې نوم یې دی. توسیع . دا د هر بریښنالیک آدرس توسیع استخراج کوي.
- سربیره پردې، راځئ چې دا فعالیت په هغه ډیټا سیټ کې پلي کړو چې موږ یې لرو. لومړی، دا فورمول په سیل C5 کې دننه کړئ او بیا په د ډکولو دستګاه باندې دوه ځله کلیک وکړئ.
=SHORTNAME(B5,1)
- په نهایت کې، موږ لیدلی شو چې موږ د ټولو بریښنالیکونو توسیع په بریالیتوب سره استخراج کړی دی.
🎓 کوډ څنګه کار کوي؟
- فنکشن EXTENSION(Email as String)
دا د EXTENSION په نوم یو نوی فنکشن رامینځته کوي ، د یو سره د سټینګ دلیل برېښنالیک نومیږي.
- د انټیجر په توګه ټیټ موقعیت
دا برخه د پوزیشن په نوم یو بشپړ متغیر اعلانوي .
- Position = InStr(1, Email, “@”, 0)
دا د <1 ارزښت ټاکي>Position متغیر د InStr فنکشن د محصول په توګه د دلیلونو 1، بریښنالیک، "@" او 0 سره. په لنډه توګه، دا په برېښنالیک کې موقعیت ټاکي چیرې چې یو “@” شتون لري.
- توسیع = ښي (بریښنالیک، (لین (برېښنالیک) – موقعیت))
دا برخه د توسیع فعالیت محصول د سمبول “@” وروسته د حروف په توګه وړاندې کوي. دا د بریښنالیک اړین توسیع دی.
3. د VBA InStr فنکشن په کارولو سره د نوم څخه د لومړي یا وروستي نوم ایستل
په پای کې، موږ به یو ځانګړی مختلف دنده ترسره کړو. دا ځل موږ د ځینو کارمندانو نومونه لرویو شرکت او موږ به هڅه وکړو چې د کارمندانو لومړی نوم یا وروستی نوم استخراج لپاره یو فنکشن رامینځته کړو.
د دې کولو لپاره لاندې مرحلې تعقیب کړئ.
0> مړونه:- لومړی، د طریقې 1 سره ورته، لاندې کوډ په VBA کړکۍ کې په نوي ماډل کې پیسټ کړئ.
8199
- دلته، موږ د SHORTNAME په نوم یو فنکشن جوړ کړی چې د نوم څخه لومړی نوم یا وروستی نوم استخراجوي. راځئ چې دا فورمول په خپل ډیټا سیټ کې پلي کړو.
- په لومړي سر کې، د لومړي نوم ایستلو لپاره، لاندې فورمول په حجره کې ولیکئ C5 .
=SHORTNAME(B5,-1)
- په پای کې، د وروستي نومونو د استخراج لپاره، موږ لاندې فورمول په D5 کې لیکو:
=SHORTNAME(B5,1)
0>- وروسته، که موږ پاتې حجرې په اتومات ډول ډک کړو د ډک هینډلر<2 سره>، موږ به خپل مطلوب پایله وګورو.
7>
🎓 کوډ څنګه کار کوي؟
- فنکشن SHORTNAME(نوم د سټرینګ په توګه، لومړی_یا_لاست د انټیجر په توګه)
دا د SHORTNAME<2 په نوم یو نوی فنکشن رامینځته کوي> د نوم په نوم د یو تار استدلال سره او د لومړی_یا_وروستی په نوم یو بشپړ دلیل سره.
- ډیم بریک د انټیجر په توګه
دا برخه د بریک په نوم یو نوی انټیجر متغیر اعلانوي.
- بریک = InStr(1، نوم، ""، 0)
دا د بریک متغیر ارزښت د دلیلونو سره د InStr فنکشن د محصول په توګه ټاکي 1، نوم، “” او 0 . په لنډه توګه، دا په نوم کې موقعیت ټاکي چیرې چې یو ځای (“”) شتون لري.
- که لومړی_یا_وروستی = -1 بیا SHORTNAME = بائیں(نوم، بریک – 1)
دا کرښه د SHORTNAME فنکشن محصول د ځای څخه مخکې د حروف په توګه وړاندې کوي، که د First_or_Last دلیل -1 وي. دا لومړی نوم دی.
- SHORTNAME = ښی (نوم، لین (نوم) – بریک)
دا برخه د محصول محصول ګماري SHORTNAME د space وروسته د حروف په توګه کار کوي، که د First_or_Last دلیل 1 وي. دا وروستی نوم دی.
نتیجې
په دې ډول، تاسو کولی شئ د VBA کوډونه د InStr فنکشن سره ولیکئ کوم چې په بل ورکړل شوي کې د ځانګړي تار موقعیت معلوموي. string، او بیا تاسو کولی شئ د مختلفو استعمالونو لپاره خپل فعالیتونه جوړ کړئ. سربیره پردې، که تاسو کومه پوښتنه لرئ، وړیا احساس وکړئ له موږ څخه وپوښتئ.