VBA හි Find Function භාවිතා කරන්නේ කෙසේද (උදාහරණ 6)

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

අපි Visual Basic Application (VBA) හි භාවිතා කරන ඉතා වැදගත් සහ බහුලව භාවිතා වන ශ්‍රිතයක් වන්නේ Find ශ්‍රිතයයි. මෙම ලිපියෙන්, මම ඔබට Excel හි FIND ශ්‍රිතය භාවිත කළ හැකි ආකාරය පෙන්වමි> Excel.xlsm හි VBA හි කාර්යය සොයන්න

6 VBA හි FIND කාර්යය භාවිතා කිරීමට ඉක්මන් උදාහරණ

මෙන්න අපි Martin Bookstore නම් පොත් සාප්පුවක පොත් කිහිපයක පොත් නම්, කර්තෘ සහ මිල සමඟ දත්ත කට්ටලයක් ලබා ගත්තා.

අද අපගේ පරමාර්ථය වන්නේ මෙම දත්ත කට්ටලයෙන් VBA හි සොයාගැනීමේ ශ්‍රිතයේ විවිධ ආකාරයේ භාවිතයන් බැලීමයි.

1. පරාමිතියක් නොමැතිව VBA හි Find Function භාවිතා කරන්න

ඔබට Find function of VBA පරාමිති නොමැතිව භාවිතා කළ හැක.

ඉන්පසු එය සෛල පරාසයක් තුළ නිශ්චිත අගයක් සොයන අතර එය සොයාගත් පළමු ගැලපීම ලබා දෙනු ඇත.

අපි “P යන නම සොයමු. B. Shelly” තීරුවේ කර්තෘ ( C4:C13 ).

සොයන්න ශ්‍රිතය සහිත රේඛාව වනුයේ:

Set cell = Range("C4:C17").Find("P. B. Shelly")

සම්පූර්ණ VBA කේතය වනුයේ:

VBA කේතය:

8256

ප්‍රතිදානය:

එය නිෂ්පාදනය කරයි මැක්‍රෝ සොයා ගන්න ලෙස හැඳින්වේ. ඔබ මැක්‍රෝ ධාවනය කරන්නේ නම්, එය $C$6 , P යන නම සහිත පළමු සෛල ලිපිනය ආපසු ලබාදේ. B. Shelly .

තවත් කියවන්න: VBA සමඟ පරාසයක් තුළ සොයන්නExcel: නිශ්චිත සහ අර්ධ ගැළපීම් ඇතුළුව

2. පසු පරාමිතිය සමඟ VBA හි සොයන්න ශ්‍රිතය යොදන්න (විශේෂිත සෛලයකින් සෙවීම ආරම්භ කිරීමට)

ඔබට පසු පරාමිතිය සොයා ගන්න සමඟින් භාවිතා කළ හැක. VBA හි. එවිට එය පරාසයක් තුළ ඇති කොටුවකට පහළින් අගයක් සෙවීමට පටන් ගනී.

උදාහරණයක් ලෙස, අපි “P යන නම සෙවීම ආරම්භ කරමු. B. Shelly” පහත කොටුවෙන් C6 .

කේත රේඛාව වනුයේ:

Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))

සහ සම්පූර්ණ VBA කේතය වනුයේ:

VBA කේතය:

8607

0> ප්‍රතිදානය:

එය $C$13 එය ආපසු එනු ඇත, මන්ද එය C6 කොටුවට පහළින් සෙවීම ආරම්භ කරයි, එය C7 කොටුවෙන්. එබැවින් එය P ලැබේ. B. Shelly සෛලය C13 පළමුව.

තවත් කියවන්න: A හි String සොයන්නේ කෙසේද එක්සෙල් හි VBA භාවිතා කරන සෛල

3. පසු පරාමිතිය වටා එතීම සමඟ VBA හි Find ශ්‍රිතය ක්‍රියාත්මක කරන්න (චක්‍රලේඛය ආකාරයෙන් අගයක් සෙවීමට)

පසු පරාමිතිය සොයාගැනීමේ ශ්‍රිතය<2 සමඟින්> චක්‍රාකාර ආකාරයෙන් අගයක් සොයයි

එනම්, එය පරාසයක් තුළ ඇති කොටුවකට පහළින් සෙවීම ආරම්භ කරයි, පරාසය තුළ සෙවීම අවසන් කරයි, පසුව නැවතත් පරාසයේ ඉහළ සිට ආරම්භ වේ.

උදාහරණයක් ලෙස, අපි “John Keats” යන නම C8 කොටුවට පහළින් After පරාමිතිය භාවිතා කර සෙවීම ආරම්භ කරමු.

රේඛාව කේතය වනුයේ:

Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))

සහසම්පූර්ණ VBA කේතය වනුයේ:

VBA කේතය:

4321

ප්‍රතිදානය:

එය $C$7 ආපසු එනු ඇත, මන්ද එය C8 කොටුවට පහළින් සෙවීම ආරම්භ කරයි, ඒ සෛලය C9 .

එය සෛලය C13 දක්වා කිසිවක් සොයා නොගනී, එබැවින් එය නැවත C4 කොටුවෙන් ආරම්භ වී සෛලය තුළ එකක් සොයා ගනී C7 .

සමාන කියවීම්:

  • VBA සමඟ තන්තුව සොයා ගන්නේ කෙසේද Excel හි (උදාහරණ 8)
  • Excel හි VBA භාවිතයෙන් නිවැරදි ගැළපීම සොයන්න (විධි 5)
  • VBA භාවිතා කර ප්‍රතිස්ථාපනය කරන්නේ කෙසේද (11 මාර්ග)

4. LookAt පරාමිතිය සමඟ VBA හි Find Function භාවිතා කරන්න (හරියට හෝ අර්ධ ගැළපීම සඳහා)

ඔබට VBA හි Find Function <1 සමඟ භාවිතා කළ හැක>LookAt පරාමිතිය.

නියම ගැළපීම සඳහා LookAt = xlWhole , සහ අර්ධ සඳහා LookAt=xlPart භාවිත කරන්න. ගැලපීම.

උදාහරණයක් ලෙස, පොත් නම තීරුවේ ( “Ode” නම සහිත කිසියම් පොතක් තිබේදැයි සොයා බැලීමට උත්සාහ කරමු>B4:B13 ).

අපි කේතයේ පේළියේ xlWhole භාවිතා කරන්නේ නම්:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)

ප්‍රතිදානය කිසිදු නිවැරදි ගැලපීම සොයා නොගන්නා නිසා දෝෂයක් පෙන්වනු ඇත.

නමුත් ඔබ භාවිතා කරන්නේ නම්:

<7 Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)

එවිට එය ආපසු එනු ඇත $B$9 , මන්ද “Ode” නම සහිත පොතක් එහි කොටුවේ ඇත. B7 , Ode to the Nightingale.

ඉතින් partial ගැලපීම සඳහා සම්පූර්ණ කේතයවේ:

VBA කේතය:

7825

5. SearchDirection පරාමිතිය සමඟ VBA හි Find ශ්‍රිතය ක්‍රියාත්මක කරන්න (සෙවීමෙහි දිශාව නියම කිරීමට)

ඔබට VBA හි Find ශ්‍රිතය භාවිතා කළ හැක. SearchDirection පරාමිතිය.

SearchDirection = xlNext භාවිතා කරන්න ඉහළ සිට පහළට .

සහ SearchDirection = xlPrevious පහළ සිට ඉහළට සෙවීම සඳහා.

උදාහරණයක් ලෙස, Elif Shafak කර්තෘ කර්තෘ තීරුවේ සොයා ගැනීමට උත්සාහ කරමු. ( C4:C13 ).

අපි කේතයේ පේළියේ xlNext භාවිතා කරන්නේ නම්:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)

එවිට එය $C$5 ආපසු එනු ඇත.

නමුත් ඔබ භාවිතා කරන්නේ නම්:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)

එවිට එය ආපසු එනු ඇත $C$11 .

එබැවින් පහළ සිට ඉහළට සෙවීම සඳහා සම්පූර්ණ කේතය එනම්:

VBA කේතය:

4438

6. MatchCase පරාමිතිය සමඟ VBA හි කාර්යය සොයන්න (සිද්ධි-සංවේදී හෝ සංවේදී නොවන ගැලපීම සඳහා)

අවසානයේ, ඔබට MatchCase පරාමිතිය සමඟ Find ශ්‍රිතය භාවිතා කළ හැක. අවස්ථා සංවේදී ගැළපීම , සහ සඳහා MatchCase=False MatchCase = True

භාවිතා කරන්න case-inensitive match.

උදාහරණයක් ලෙස, අපි Book Name column ( B4:B13) “අම්මා” පොත සොයා ගැනීමට උත්සාහ කරමු ).

අපි කේත පේළියේ True භාවිතා කරන්නේ නම්:

Set cell = Range("B4:B13").Find("mother", MatchCase:=True)

ප්‍රතිදානය දෝෂයක් පෙන්වයි එය එසේ නොවන නිසා' කිසිවක් සොයා නොගන්නගැලපීම.

නමුත් ඔබ භාවිතා කරන්නේ නම්:

Set cell = Range("B4:B13").Find("mother", MatchCase:=False)

එවිට එය නැවත පැමිණේ $ B$9 B8 කොටුවේ “අම්මා” නමින් පොතක් ඇත.

ඉතින් සම්පූර්ණ කේතය නඩු සංවේදී නොවන ගැලපීම:

VBA කේතය:

8491

නිගමනය

මෙම ක්‍රම භාවිතා කරමින්, ඔබට දෘෂ්‍ය මූලික යෙදුමේ Find Function භාවිතා කළ හැක. ඔබට ප්‍රශ්න තිබේද? අපෙන් අසන්න.

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