අන්තර්ගත වගුව
ක්රියාත්මක කිරීම VBA යනු Excel හි ඕනෑම මෙහෙයුමක් ක්රියාත්මක කිරීමට වඩාත්ම ඵලදායී, වේගවත්ම සහ ආරක්ෂිතම ක්රමයයි. මෙම ලිපියෙන්, Excel හි VBA භාවිතා කර වෙනත් දී ඇති තන්තුවක යම් යම් තන්තු සොයා ගන්නේ කෙසේදැයි අපි ඔබට පෙන්වන්නෙමු.
ප්රායෝගික අච්චුව බාගන්න
ඔබ නොමිලේ ප්රායෝගික Excel අච්චුව මෙතැනින් බාගත හැක.
VBA to Find String.xlsm
InStr Function
Microsoft Excel හට ලබා දී ඇති String එකක නිශ්චිත තන්තු වල පිහිටීම සොයා ගැනීමට The InStr Function නම් වූ බිල්ට්-ඉන් ශ්රිතයක් ඇත.
Generic Syntax:
InStr([start], string1, string2, [compare])
මෙහි,
20>තර්ක | අවශ්ය/ විකල්ප | අර්ථ දැක්වීම |
---|---|---|
ආරම්භය | විකල්ප | සෙවුමේ ආරම්භක ස්ථානය.
|
string1 | අවශ්යයි | සෙවිය යුතු තන්තුව, ප්රාථමික තන්තුව. |
string2 | අවශ්ය | ප්රාථමික තන්තුවෙහි සෙවීමට තන්තුව . |
සසඳන්න | විකල්ප | InStr ශ්රිතය පෙරනිමියෙන් සිද්ධි සංවේදී වේ. නමුත් ඔබට කේස් සංවේදී නොවන InStr ධාවනය කිරීමට අවශ්ය නම්, යම් සංසන්දනයක් සිදු කිරීම සඳහා ඔබට මෙහි තර්කය ඉදිරිපත් කළ හැක. මෙම තර්කය පහත පරිදි විය හැකියඅගයන්,
පෙරනිමියෙන්, InStr vbBinaryCompare සංසන්දන තර්කය ලෙස ගනී. |
VBA භාවිතයෙන් ලබා දී ඇති තන්තු වල නිශ්චිත තන්තු පිහිටීම සොයා ගැනීමට පහසු උදාහරණ 8
භාවිතා කර දී ඇති තන්තුවක ඇතැම් නූල්වල පිහිටීම් ලබා ගැනීමට සරල උදාහරණ කිහිපයක් බලමු. VBA .
1. VBA පෙළෙහි පෙළෙහි පිහිටීම සොයා ගැනීමට
පහත දැක්වෙන්නේ InStr හි උදාහරණයකි. තන්තුවක පෙළක පිහිටීම.
- ඔබේ යතුරුපුවරුවේ Alt + F11 ඔබන්න නැතහොත් සංවර්ධක -> ටැබයට යන්න. Visual Basic Visual Basic Editor විවෘත කිරීමට.
- උත්පතන කේත කවුළුව තුළ, මෙනු තීරුවෙන් , ක්ලික් කරන්න ඇතුළු කරන්න -> Module .
- දැන් කේත කවුළුව තුළ VBA Sub එකක් තුළ සරල InStr වැඩසටහනක් ලියන්න. ක්රියා පටිපාටිය (පහත බලන්න).
3183
ඔබගේ කේතය දැන් ක්රියාත්මක වීමට සූදානම්ය.
- F5 ඔබන්න ඔබගේ යතුරුපුවරුවේ හෝ මෙනු තීරුවෙන් තෝරන්න Run -> උප/පරිශීලක පෝරමය ධාවනය කරන්න. ඔබට මැක්රෝව ක්රියාත්මක කිරීමට උප මෙනු තීරුවේ ඇති small Play අයිකනය මත ක්ලික් කරන්න.
ඔබට පෙනෙනු ඇත pop-up පණිවිඩ පෙට්ටිය ඔබට අංකයක් ලබා දෙනු ඇතඔබට පරීක්ෂා කිරීමට අවශ්ය පෙළෙහි ස්ථානය ප්රකාශ කිරීම.
පැහැදිලි කිරීම:
අපගේ මූලික තන්තුව, “ සතුට යනු තේරීමකි ” යනු අකුරු 21ක වාක්යයක් (හිස්තැන් සහිත) වන අතර එම තන්තුවෙහි “ choice ” යන පාඨයේ පිහිටීම සොයා ගැනීමට අපට අවශ්ය විය. “ තේරීම ” යන පාඨය ප්රාථමික තන්තුවේ 16 වැනි ස්ථානයෙන් ආරම්භ විය, එම නිසා අපට පණිවිඩ පෙට්ටියේ ප්රතිදානය ලෙස 16 අංකය ලැබුණි.
2. තන්තුවෙහි නිශ්චිත ස්ථානයකින් පෙළ සෙවීමට VBA
දැන් අපි සොයා බලමු අපට නිශ්චිත සංඛ්යාවකින් එම ස්ථානය ලබා ගැනීමට අවශ්ය නම් කුමක් සිදුවේවිද කියා.
- මේ ආකාරයටම පෙර, Developer ටැබයෙන් Visual Basic Editor විවෘත කර කේත කවුළුවෙහි ඇතුළු කරන්න මොඩියුල .
- තුළ කේත කවුළුව, ඉහත පෙන්වා ඇති සරල InStr වැඩසටහනක් ලියා ඔබට ඔබේ පෙළ ගණන් කිරීමට අවශ්ය ස්ථානයට අනුව ආරම්භක තර්කයේ අගය ලබා දෙන්න.
4615
- ඊළඟට, ධාවනය කරන්න කේතය.
උප-අප් පණිවිඩ පෙට්ටිය එසේ වන බව ඔබට පෙනෙනු ඇත. ඔබට පරීක්ෂා කිරීමට අවශ්ය නිශ්චිත ස්ථානයක සිට යන පාඨයේ ස්ථානය ප්රකාශ කරන අංකයක් දෙන්න.
පැහැදිලි කිරීම:
අපි දැනටමත් දැන සිටි පරිදි (අදියර 1 සාකච්ඡාවෙන්) “ choice ” පෙළ ආරම්භ වූයේ 16 ස්ථානයෙන් බව, එබැවින් අපි දෙකක් ඇතුළත් කළෙමු ප්රාථමික තන්තුවෙහි තේරීම ” සහ 17 අපගේ ලෙස සකසන්නපළමු " තේරීම " මඟ හැරීමට 1 වන පරාමිතිය. එබැවින්, අපි ධාවනය ඉහත මැක්රෝව සහ එය අපට ස්ථාන අංකය පෙන්වූයේ 27 එය හරියටම දෙවන “ තේරීම ” හි ස්ථාන අංකයයි. දී ඇති තන්තුවෙහි.
3. VBA to find Case-insensitive InStr Function with String
InStr ශ්රිතය හඳුන්වාදීමේ සිට පෙරනිමියෙන්, InStr ශ්රිතය බව ඔබ දැනටමත් දනී. සිද්ධි සංවේදී වේ. අපි එය උදාහරණයකින් සොයා ගනිමු.
පහත VBA කේතය බලන්න, එහිදී අපට “ තේරීම යන වචනයේ පිහිටීම සොයා ගැනීමට අවශ්ය විය. ” ප්රාග්ධන “C” සමඟ “ සතුට යනු තේරීමකි ” මෙහි තේරීම කුඩා “c” සමඟ ලියා ඇත .
- ධාවනය කේතය සහ 0 අපගේ ප්රතිදානය ලෙස සොයා ගන්න.
ඒ InStr ශ්රිතය ප්රාග්ධන “C” සහ කුඩා “c” වෙනස් ලෙස සලකන බැවිනි. එබැවින් එය තන්තුවෙහි “ Choice ” යන වචනය සෙවූ අතර කිසිදු ගැලපීමක් නොලැබුණු බැවින් 0 .
- <17 InStr ශ්රිතය අවස්ථාව-සංවේදී බවට පත් කිරීමට, සංසන්දන තර්කය vbTextCompare ලෙස සකසන්න (පහත බලන්න).
7293
- ධාවනය කේතය.
ඔබට පාඨයේ ස්ථානය ලැබෙනු ඇත තන්තුවෙන්, පෙළ ලියා ඇත්තේ කැපිටල් අකුරුවලින් හෝ කුඩා අකුරින් වුවත්.
4. තන්තුවක දකුණෙන් පෙළ සෙවීමට VBA
මෙතෙක් InStr ශ්රිතය අපට ලබා දුන්නේ තන්තුවේ වම් පැත්තේ පිහිටීම පමණි. නමුත් ඔබට තන්තුවේ දකුණු පැත්තේ සිට පෙළ පිහිටීම සොයා ගැනීමට අවශ්ය නම් කුමක් කළ යුතුද.
InStrRev Function දකුණේ සිට සොයයි. InStrRev ශ්රිතය InStr ශ්රිතයට ඉතා සමානව ක්රියා කරන අතර එය ඔබට තන්තුවේ දකුණු පැත්තේ සිට පෙළක පිහිටීම සොයා ගනී.
0>වෙනස තේරුම් ගැනීමට පහත උදාහරණ බලන්න.- අපි පහත කේතය InStr ශ්රිතය සමඟ ක්රියාත්මක කරන්නේ නම්,
එය අපට “ තේරීම ” යන පළමු පෙළෙහි පිහිටීම ( 16 ) ලබා දෙයි.
3>
- නමුත් අපි එම කේතයම InStrRev ශ්රිතය සමඟ ක්රියාත්මක කරන්නේ නම්,
එය අපට ස්ථානය ලබා දෙයි. ( 27 ) අවසාන පාඨයේ “ තේරීම ”.
සමාන කියවීම්:
- Excel හි VBA භාවිතයෙන් ඊළඟට සොයන්න (උදාහරණ 2)
- VBA භාවිතා කර ප්රතිස්ථාපනය කරන්නේ කෙසේද (විධි 11)
- Excel හි VBA භාවිතයෙන් නිවැරදි ගැළපීම සොයන්න (විධි 5)
5. තන්තුවෙහි අක්ෂරයක පිහිටීම සොයා ගැනීමට VBA
ඔබට පෙළ සොයාගත් ආකාරයටම තන්තුවක යම් අක්ෂරයක පිහිටීමද සොයාගත හැක.
- පිටපත් කරන්න ඔබගේ VBA කේත කවුළුවට පහත කේතය
4212
- සහ ධාවනය මැක්රෝ. 19>
- පෙර ආකාරයටම, සංවර්ධක ටැබයෙන් දෘශ්ය මූලික සංස්කාරකය විවෘත කරන්න සහ කේත කවුළුව තුළ ඇතුළු කරන්න මොඩියුලය .
- කේත කවුළුව තුළ, පහත කේතය පිටපත් කර එය අලවන්න.
අපගේ දී ඇති තන්තුවෙහි පළමු “ e ”අංකය 7 ස්ථානය.
6. තන්තුවක උපසිරැසි සෙවීමට VBA
මෙහිදී අපි තන්තුවක උප පෙළක් තිබේද නැද්ද යන්න සොයා ගන්නේ කෙසේදැයි ඉගෙන ගනිමු.
එය ලබා ගැනීමට අපට තිබේ. අපගේ කේතයේ IF ප්රකාශයක් ක්රියාත්මක කිරීමට.
4718
ඔබගේ කේතය දැන් ක්රියාත්මක වීමට සුදානම්ය.
- මැක්රෝව ක්රියාත්මක කරන්න.
ඔබේ තන්තුවෙහි උපස්ථරය අඩංගු වේ නම්, ඔබට සොයාගත් ගැලපීමක් ලැබෙනු ඇත, එසේ නොමැතිනම්, එය කිසිඳු ගැළපීමක් සොයාගත නොහැකි වනු ඇත. අපගේ උදාහරණයේ දී, අපගේ මූලික තන්තුව වන “ සතුට තේරීමක් ” තුළ “ තේරීම ” යන වචනය අඩංගු දැයි සොයා බැලීමට අපට අවශ්ය විය. නැහැ. එය සිදු වන පරිදි, අපට ගැලපීම ප්රතිඵලයක් ලැබේ.
7. සෛල පරාසයක තන්තුව සොයා ගැනීමට VBA
ඔබට සෛල පරාසයක යම් පෙළක් සෙවිය හැකි අතර යම් තන්තුවක් ආපසු ලබා දිය හැක.
පහත දැක්වෙන උදාහරණය දෙස බලන්න. " ඩොක්ටර් " සොයා ගන්න, තරඟයක් ඇති විට එය " ඩොක්ටර් " ආපසු එනු ඇත.
- ඉහත සාකච්ඡා කළ ප්රතිඵලය ලබා ගැනීම සඳහා කේතය පහත දැක්වේ,
6127
- ධාවනය කේතය සහ ප්රතිඵලය පහත දැක්වේ
- ඔබගේ අවශ්යතාවයට අනුව මැක්රෝව වෙනස් කළ හැක. උදාහරණයක් ලෙස, ඔබට අවශ්ය නම්ඕනෑම තන්තු කොටුවක " මහාචාර්ය " සොයා ගැනීමට සහ " මහාචාර්ය " ආපසු ලබා ගැනීමට, පසුව සරලව "<1 පසු කරන්න. " ආචාර්ය " වෙනුවට අගය ලෙස මහාචාර්ය ". සාර්වයේ 4 වැනි පේළියේ සහ මැක්රෝවේ 5 වැනි පේළියේ “ ඩොක්ටර් ” වෙනුවට “ ප්රොෆෙසර් ” සහ නිර්වචනය කරන්න ඒ අනුව සෛල පරාසයේ අංකය.
8. Cell එකක String සෙවීමට VBA
ඔබට තනි පෙළක් තුළ යම් පෙළක් සෙවීමට සහ යම් තන්තුවක් ආපසු ලබා දීමටද හැකිය.
- පහත කේතය පිටපත් කර එය කේත කවුළුවට අලවන්න.
7248
එය “ ආචාර්ය <2 ලෙස සොයනු ඇත>" Cell B5 හි සහ එය ගැළපීම සොයා ගන්නේ නම් C5 හි " Doctor " ආපසු ලබා දෙයි.
- ඔබගේ අවශ්යතාවයට අනුව මැක්රෝව වෙනස් කළ හැක. උදාහරණයක් ලෙස, ඔබට ඕනෑම තන්තු කොටුවක “ මහාචාර්ය ” සොයා ගැනීමට අවශ්ය නම්, සහ “ ප්රොෆෙසර් ” ආපසු ලබා ගැනීමට, ඉන්පසුව " ආචාර්ය " වෙනුවට " ප්රො. " අගය ලෙස යන්න. මැක්රෝවේ 2 වැනි පේළියේ සහ මැක්රෝවේ 3 වැනි පේළියේ “ ඩොක්ටර් ” වෙනුවට “ ප්රොෆෙසර් ” සහ නිර්වචනය කරන්න සෛල යොමු අංකය ඒ අනුව.
නිගමනය
මෙම ලිපිය මඟින් VBA macro භාවිතයෙන් Excel තුළ ඇතැම් පෙළ සොයා ගන්නේ කෙසේදැයි පෙන්වා දුන්නේය. මෙම ලිපිය ඔබට ඉතා ප්රයෝජනවත් වී ඇතැයි මම බලාපොරොත්තු වෙමි. සම්බන්ධයෙන් ඕනෑම ප්රශ්නයක් ඇසීමට නිදහස් වන්නමාතෘකාව.