Excel හි VBA සමඟ String සොයා ගන්නේ කෙසේද (උදාහරණ 8)

  • මේක Share කරන්න
Hugh West

ක්‍රියාත්මක කිරීම 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>
තර්ක අවශ්‍ය/ විකල්ප අර්ථ දැක්වීම
ආරම්භය විකල්ප සෙවුමේ ආරම්භක ස්ථානය.
  • පෙරනිමියෙන්, InStr ශ්‍රිතය ආරම්භක ස්ථානයෙන් නොව 1 සිට ගණන් කිරීමෙන් අක්ෂර ස්ථානය ගණනය කරයි. එබැවින්, ඔබට අවශ්‍ය නම් මෙය හිස්ව තැබිය හැක.
string1 අවශ්‍යයි සෙවිය යුතු තන්තුව, ප්‍රාථමික තන්තුව.
string2 අවශ්‍ය ප්‍රාථමික තන්තුවෙහි සෙවීමට තන්තුව .
සසඳන්න විකල්ප InStr ශ්‍රිතය පෙරනිමියෙන් සිද්ධි සංවේදී වේ. නමුත් ඔබට කේස් සංවේදී නොවන InStr ධාවනය කිරීමට අවශ්‍ය නම්, යම් සංසන්දනයක් සිදු කිරීම සඳහා ඔබට මෙහි තර්කය ඉදිරිපත් කළ හැක. මෙම තර්කය පහත පරිදි විය හැකියඅගයන්,
  • vbBinaryCompare -> ද්විමය සංසන්දනයක් සිදු කරයි, ආපසු අගය 0
  • vbTextCompare -> පෙළ සංසන්දනයක් සිදු කරයි, ආපසු අගය 1
  • vbDatabaseCompare -> දත්ත සමුදා සංසන්දනයක් සිදු කරයි, ආපසු අගය 2

පෙරනිමියෙන්, 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 තුළ ඇතැම් පෙළ සොයා ගන්නේ කෙසේදැයි පෙන්වා දුන්නේය. මෙම ලිපිය ඔබට ඉතා ප්‍රයෝජනවත් වී ඇතැයි මම බලාපොරොත්තු වෙමි. සම්බන්ධයෙන් ඕනෑම ප්‍රශ්නයක් ඇසීමට නිදහස් වන්නමාතෘකාව.

Hugh West යනු ක්ෂේත්‍රයේ වසර 10කට වැඩි පළපුරුද්දක් ඇති ඉතා පළපුරුදු Excel පුහුණුකරුවෙකු සහ විශ්ලේෂකයෙකි. ඔහු ගිණුම්කරණය සහ මූල්‍ය පිළිබඳ ශාස්ත්‍රවේදී උපාධියක් සහ ව්‍යාපාර පරිපාලනය පිළිබඳ ශාස්ත්‍රපති උපාධියක් ලබා ඇත. හියු ඉගැන්වීම සඳහා දැඩි ආශාවක් ඇති අතර අනුගමනය කිරීමට සහ තේරුම් ගැනීමට පහසු වන අද්විතීය ඉගැන්වීම් ප්‍රවේශයක් වර්ධනය කර ඇත. ඔහුගේ Excel පිළිබඳ විශේෂඥ දැනුම ලොව පුරා සිටින දහස් ගණනක් සිසුන්ට සහ වෘත්තිකයන්ට ඔවුන්ගේ කුසලතා වැඩිදියුණු කිරීමට සහ ඔවුන්ගේ වෘත්තීය ජීවිතය තුළ විශිෂ්ටත්වයට පත් කිරීමට උපකාර කර ඇත. ඔහුගේ බ්ලොගය හරහා, හියු ඔහුගේ දැනුම ලෝකය සමඟ බෙදා ගනී, නොමිලේ එක්සෙල් නිබන්ධන සහ පුද්ගලයන්ට සහ ව්‍යාපාරවලට ඔවුන්ගේ පූර්ණ හැකියාවන් කරා ළඟා වීමට උපකාර කිරීමට මාර්ගගත පුහුණුව ලබා දෙයි.