VBA හි InStr කාර්යය භාවිතා කරන්නේ කෙසේද (පහසු උදාහරණ 3)

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

Excel VBA කේත සමඟ වැඩ කරන අතරතුර, සංකීර්ණ කාර්යයක් කුඩා තනි පේළි කේතයක් බවට පරිවර්තනය කරන ගොඩනඟන ලද කාර්යයන් කිහිපයක් අපට හමු වේ. InStr යනු Excel VBA හි ඇති එවැනි ශ්‍රිතයක් වන අතර එය ලබා දී ඇති ස්ථානයකින් ආරම්භ වන වෙනත් දී ඇති තන්තුවක් තුළ යම් තන්තුවක් සොයයි. අද මම පෙන්වන්නම් VBA හි InStr ශ්‍රිතය භාවිතා කර වෙනත් දී ඇති තන්තුවක් තුළ නිශ්චිත තන්තුවක් සෙවීමට.

ප්‍රායෝගික වැඩපොත බාගන්න

6>

InStr Function.xlsm

VBA InStr Function

  • හැඳින්වීම සාරාංශය

දී ඇති ස්ථානයකින් ආරම්භ වන, දී ඇති තන්තුවක් තුළ නිශ්චිත තන්තුවක් සඳහා සෙවීම. ගැළපීමක් සොයා ගන්නේ නම්, තරගය ආරම්භ වූ ස්ථානයෙන් ලබා දී ඇති තන්තුවෙහි පිහිටීම ආපසු ලබා දෙයි.

  • Syntax

InStr([ආරම්භ කරන්න ],string1,string2,[සසඳන්න])

  • තර්ක
17>14>
තර්කය අවශ්‍යතාවය විස්තරය

3>

[ආරම්භය] විකල්ප එය සෙවීම ආරම්භ කරන ස්ථානය. පෙරනිමිය 1 වේ.
string1 අවශ්‍යයි එය ලබා දී ඇති තන්තුවක් සොයන තන්තුව.
string2 අවශ්‍යයි එය දෙන ලද තන්තුවක් තුළ සොයන තන්තුව.
[සසඳන්න] විකල්පමය සැසඳීමේ වර්ගය සඳහන් කරන {-1,0,1,2} අතර සංඛ්‍යාත්මක අගයක්. එමපෙරනිමිය -1 (vbUseCompareOption) වේ. විකල්ප සංසන්දනය ප්‍රකාශය නිශ්චිතව දක්වා නොමැති නම්, ද්විමය සංසන්දනය කරන්න.

සටහන:

  • [ආරම්භය] තර්කය සහ [සසඳන්න] තර්කය විකල්ප වේ, ඔබ [සංසන්දනය] තර්කය සඳහන් කරන්නේ නම් ඔබට [ආරම්භය] තර්කය අවශ්‍ය වේ. එසේ නොමැතිනම්, එය දෝෂයක් මතු කරයි.
  • [start] තර්කයෙන් එකක් හෝ දෙකම සහ [සංසන්දනය] තර්කය Null<2 නම්>, ඔබ දෝෂයකට මුහුණ දෙනු ඇත.
  • [සසඳන්න] තර්කයේ සඳහන් කළ අගයන් හතර විවිධ ආකාරයේ සැසඳීම් සිදු කරයි. ඒවා පහත සඳහන් වේ:
17>
අගය ස්ථාවර 1>විස්තරය

-1 vbUseCompareOption හි නිශ්චිතව දක්වා ඇති සංසන්දනය සිදු කරයි විකල්පය සංසන්දනය කිරීමේ ප්‍රකාශය.
0 vbBinaryCompare ද්විමය සංසන්දනයක් සිදු කරයි.
1 vbTextCompare පෙළ සැසඳීමක් සිදු කරයි.
2 vbDatabaseCompare ඔබගේ දත්ත සමුදාය මත පදනම්ව සැසඳීමක් සිදු කරයි. .
  • විකල්ප සංසන්දනය ප්‍රකාශය ප්‍රධාන VBA කේතය ආරම්භ වීමට පෙර ලබා දුන් ප්‍රකාශයකි. අවශ්‍ය වූ විට කේතය ද්විමය සංසන්දනයක් හෝ පෙළ සංසන්දනයක් සොයන්නේද යන්න එය සඳහන් කරයි.

විකල්පය පෙළ සසඳන්න

    • සරල වචන වලින් , ද්විමය සංසන්දනය යන්නෙන් අදහස් වන්නේ සිද්ධි සංවේදී බවයිසංසන්දනය.
    • සරල වචන වලින් , පෙළ සංසන්දනය අවශ්‍ය සංසන්දනය යන්නෙන් අදහස් වේ.
  • ප්‍රතිලාභ අගය
    • string2 ආරම්භ වූ string1 හි පිහිටුම ලබා දෙයි.
    • string2 සොයාගත නොහැකි වුවහොත් string1 තුළ ආරම්භක ස්ථානයේ සිට, 0 ලබා දෙයි.
    • string1 ශුන්‍ය දිග නම්, 0 ලබා දෙයි.
    • string2 ශුන්‍ය දිග නම්, ආරම්භය තර්කය ආපසු ලබා දෙයි.
    • අවසානයේ, string1 හෝ string2 Null , දෝෂයක් ලබා දෙයි.

VBA InStr Function භාවිතා කිරීමට පහසු උදාහරණ 3

in මෙම කොටස, අපි Excel හි VBA InStr ශ්‍රිතය යෙදීමේ පහසු උදාහරණ තුනක් දකිමු. VBA කේතවල InStr ශ්‍රිතයේ පළමු උදාහරණය බලමු.

1. ලිපිනයක් විද්‍යුත් තැපැල් ලිපිනයක්ද නැද්ද යන්න තීරණය කිරීම VBA InStr Function භාවිතයෙන්

මෙහි, අපි ගනුදෙනුකරුවන්ගේ සම්බන්ධතා ලිපින කිහිපයක් අඩංගු දත්ත කට්ටලයක් ගෙන ඇත. මෙහි අපගේ ඉලක්කය වනුයේ ලිපිනයන් ඊමේල් ලිපිනද නැද්ද යන්න හඳුනා ගැනීමයි.

දැන් අපි InStr ශ්‍රිතය භාවිතයෙන් VBA කේතයක් සංවර්ධනය කරන්නෙමු. එය විද්‍යුත් තැපැල් ලිපිනයක් ද නැද්ද යන්න. එය කිරීමට, පහත පියවර අනුගමනය කරන්න.

පියවර:

  • ආරම්භයේදී, සංවර්ධක ටැබයට ගොස් <තෝරන්න. 1>Visual Basic (නැතහොත් Alt+F11) ඔබන්න VBA window.

  • ඉන්පසු, VBA කවුළුවෙහි, Insert > මොඩියුලය .

  • ඉන්පසු, මොඩියුලය මත පහත කේතය අලවන්න:
4767

  • තවද, අපි DECISION නමින් ශ්‍රිතයක් සාදා ඇත. ලිපිනයක් ඊමේල් ලිපිනයක්ද නැද්ද යන්න තීරණය කරයි. අපි සතුව ඇති දත්ත කට්ටලයට ශ්‍රිතය යොදමු.
  • Cell C5 මත, පහත සූත්‍රය ලියා ඉන්පසු Fill Handle භාවිතයෙන් ඉතිරි සෛල ස්වයංක්‍රීයව පුරවන්න.
=DECISION(B5)

  • අපට පෙනෙන පරිදි, අපි සෑම ලිපිනයක්ම එය විද්‍යුත් තැපැල් ලිපිනයක් දැයි හඳුනාගෙන ඇත හෝ නැත.

🎓 කේතය ක්‍රියා කරන්නේ කෙසේද?

  • Function DECISION(string1 String ලෙස)

පළමුව, මෙය DECISION නමින් ශ්‍රිතයක් නිර්මාණය කරයි තන්තු තර්කය string1 ලෙස නම් කර ඇත.

  • නිඛිල ලෙස ඩිම් පොසිෂන්

එය ස්ථානය<නමින් පූර්ණ සංඛ්‍යා විචල්‍යයක් ප්‍රකාශ කරයි 2>.

  • ස්ථානය = InStr(1, string1, “@”, 0)

මෙය හි අගය පවරයි. 1, string1, “@” සහ 0 යන තර්ක සහිත InStr ශ්‍රිතයේ ප්‍රතිදානය ලෙස පිහිටුම විචල්‍යය. කෙටියෙන් කිවහොත්, මෙය “@” ඇති ලිපිනයෙහි පිහිටීම පවරයි.

  • තත්වය = 0 නම් DECISION = “ඊමේල් නොවේ”

එය තීරණය ශ්‍රිතයේ ප්‍රතිදානය “විද්‍යුත් තැපෑල නොවේ” ලෙස පවරයි, ස්ථානය නම්විචල්‍යය 0 වේ, එනම්, ලිපිනයෙහි “@” කිසිවක් නොතිබුණි.

(දී ඇති තන්තුව තුළ කිසියම් තන්තුවක් හමු නොවුනේ නම්, < InStr ශ්‍රිතය 0 ලබා දෙයි).

  • වෙනත් තීරණය = “ඊමේල්”

මෙය පවරයි DECISION ශ්‍රිතයේ ප්‍රතිදානය “ඊමේල්” ලෙස ලිපිනයෙහි “@” තිබුනේ නම්. මේ අනුව “@” ඇති ලිපිනයන් ඊමේල් ලෙසත්, ඉතිරිය “ඊමේල් නොවේ” .

ලෙසත් වර්ගීකරණය කර ඇත. සමාන කියවීම්

  • Excel හි VBA UCASE ශ්‍රිතය භාවිතා කරන්නේ කෙසේද (උදාහරණ 4)
  • Excel VBA හි MsgBox කාර්යය භාවිතා කරන්න (සම්පූර්ණ මාර්ගෝපදේශයක්)
  • Excel හි VBA SPLIT ශ්‍රිතය භාවිතා කරන්නේ කෙසේද (උදාහරණ 5)
  • Excel හි VBA හි LCase Function භාවිතා කරන්න (සමඟ 4 උදාහරණ)
  • Excel VBA හි Fix Function භාවිතා කරන්නේ කෙසේද (උදාහරණ 4)

2. සමහර විද්‍යුත් තැපැල් ලිපිනවල දිගුව උකහා ගැනීම සඳහා VBA InStr ශ්‍රිතය භාවිතා කිරීම

මෙහි, අප සතුව සමහර පාරිභෝගිකයින්ගේ සමහර විද්‍යුත් තැපැල් ලිපින ලැයිස්තුවක් ඇත. මෙවර අපි ඔවුන්ට gmail.com හෝ yahoo.com තිබේද යන්න වැනි විද්‍යුත් තැපැල් ලිපිනයේ දිගුව උපුටා ගන්නෙමු.

එය කිරීමට, පහත පියවර අනුගමනය කරන්න.

පියවර:

  • පෙර ක්‍රමය මෙන් ආරම්භ කිරීමට, නව VBA<2 විවෘත කරන්න> මොඩියුලය සහ කවුළුව තුළ පහත කේතය අලවන්න.
4247

  • ඊට අමතරව, අපි නමින් ශ්‍රිතයක් සාදා ඇත. දිගුව . එය ඕනෑම විද්‍යුත් තැපැල් ලිපිනයක දිගුව උකහා ගනී.
  • තවද, අප සතුව ඇති දත්ත කට්ටලයට මෙම ශ්‍රිතය යොදමු. පළමුව, මෙම සූත්‍රය C5 කොටුවේ ඇතුළත් කර පිරවුම් හසුරුව මත දෙවරක් ක්ලික් කරන්න.
=EXTENSION(B5)

  • අවසාන වශයෙන්, අපි සියලු ඊමේල් වල දිගුව සාර්ථකව උපුටා ගත් බව අපට පෙනේ.

🎓 කේතය ක්‍රියා කරන්නේ කෙසේද?

  • Function EXTENSION(ඉ-තැපෑල ලෙස විද්‍යුත් තැපෑල)

මෙය EXTENSION නමින් නව ශ්‍රිතයක් නිර්මාණය කරයි. තන්තු තර්කය ඊමේල් ලෙස නම් කර ඇත.

  • නිඛිල වශයෙන් පිහිටීම අඳුරු කරන්න

මෙම කොටස ස්ථානය නමින් පූර්ණ සංඛ්‍යා විචල්‍යයක් ප්‍රකාශ කරයි .

  • ස්ථානය = InStr(1, Email, “@”, 0)

මෙය <1 හි අගය පවරයි. 1, විද්‍යුත් තැපෑල, “@” සහ 0 යන තර්ක සහිත InStr ශ්‍රිතයේ ප්‍රතිදානය ලෙස>ස්ථාන විචල්‍යය. කෙටියෙන් කිවහොත්, මෙය “@” එකක් ඇති ඊමේල් හි පිහිටීම පවරයි.

  • EXTENSION = Right(Email, (Len (ඊමේල්) – ස්ථානය))

මෙම කොටස “@” සංකේතයට පසුව ඇති අක්ෂර ලෙස EXTENSION ශ්‍රිතයේ ප්‍රතිදානය පවරයි. මෙය ඊමේල් හි අවශ්‍ය දිගුවයි.

3. VBA InStr ශ්‍රිතය භාවිතයෙන් නමකින් පළමු හෝ අවසාන නම උපුටා ගැනීම

අවසාන වශයෙන්, අපි අද්විතීය ලෙස වෙනස් කාර්යයක් කරන්නෙමු. මෙවර අප සතුව සේවකයින් කිහිප දෙනෙකුගේ නම් තිබේසමාගමක්. තවද අපි සේවකයින්ගේ මුල් නම හෝ අවසාන නම උපුටා ගැනීමට ශ්‍රිතයක් ගොඩනගා ගැනීමට උත්සාහ කරන්නෙමු.

එය කිරීමට, පහත පියවර අනුගමනය කරන්න.

0> පියවර:
  • පළමුව, ක්‍රමය 1 හා සමානව, පහත කේතය නව මොඩියුලයක VBA  කවුළුවෙහි අලවන්න.
7214

  • මෙහි, අපි නමකින් මුල් නම හෝ අවසාන නම උපුටා ගන්නා SHORTNAME නමින් ශ්‍රිතයක් සාදා ඇත. අපි මෙම සූත්‍රය අපගේ දත්ත කට්ටලයට යොදමු.
  • මුලින්ම, මුල් නම උකහා ගැනීමට, C5 කොටුවේ පහත සූත්‍රය ලියන්න.
=SHORTNAME(B5,-1)

  • අවසාන වශයෙන්, අවසාන නම් උකහා ගැනීමට, අපි පහත සූත්‍රය D5 :
  • <ලියන්නෙමු. 11> =SHORTNAME(B5,1)

    • ඉන්පසු, අපි Fill Handler<2 සමඟ ඉතිරි කොටු ස්වයංක්‍රීයව පුරවන්නේ නම්>, අපි අපේ අපේක්ෂිත ප්රතිඵලය දකිනු ඇත.

    🎓 කේතය ක්‍රියා කරන්නේ කෙසේද?

    • ශ්‍රිතය SHORTNAME(Name as String, First_or_Last as Integer)

    එය SHORTNAME<2 නමින් නව ශ්‍රිතයක් නිර්මාණය කරයි> නම නමින් එක් තන්තු තර්කයක් සහ පළමු_හෝ_අවසාන නම් එක් නිඛිල තර්කයක් සමඟ.

    • Dim Break As Integer

    මෙම කොටස Break නමින් නව පූර්ණ සංඛ්‍යා විචල්‍යයක් ප්‍රකාශ කරයි.

    • Break = InStr(1, Name, ” “, 0) <10

    එය Break විචල්‍යයේ අගය InStr ශ්‍රිතයේ ප්‍රතිදානය ලෙස තර්ක සමඟ පවරයි. 1, නම, "" සහ 0 . කෙටියෙන් කිවහොත්, මෙය නම හි හිස්තැනක් (“ ”) ඇති ස්ථානය පවරයි.

    • First_or_Last = -1 එවිට SHORTNAME = වම්(නම, කඩඉම – 1)

    මෙම පේළිය SHORTNAME ශ්‍රිතයේ ප්‍රතිදානය අවකාශයට පෙර අක්ෂර ලෙස පවරයි , පළමු_හෝ_අවසාන තර්කය -1 නම්. මෙය පළමු නමයි.

    • SHORTNAME = Right(Name, Len(Name) – Break)

    මෙම කොටසෙහි ප්‍රතිදානය පවරයි. පළමු_හෝ_අවසාන තර්කය 1 නම්, SHORTNAME අවකාශයට පසු අක්ෂර ලෙස ක්‍රියා කරයි. මෙය අවසාන නමයි.

    නිගමනය

    මෙම ආකාරයෙන්, ඔබට InStr ශ්‍රිතය සමඟින් VBA කේත ලිවිය හැකි අතර එමඟින් ලබා දී ඇති වෙනත් තන්තුවක පිහිටීම සොයා ගත හැක. string, පසුව ඔබට විවිධ භාවිතයන් සඳහා ඔබේම කාර්යයන් නිර්මාණය කළ හැකිය. තවද, ඔබට කිසියම් ප්‍රශ්නයක් ඇත්නම්, අපෙන් අසන්න.

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