Paano Gamitin ang Find Function sa VBA (6 na Halimbawa)

  • Ibahagi Ito
Hugh West

Ang isa sa pinakamahalaga at malawakang ginagamit na function na ginagamit namin sa Visual Basic Application (VBA) ay ang Find function. Sa artikulong ito, ipapakita ko sa iyo kung paano mo magagamit ang FIND function ng Excel na may wastong mga halimbawa at mga guhit.

I-download ang Practice Workbook

Hanapin ang Function sa VBA sa Excel.xlsm

6 Mabilis na Halimbawa para Gamitin ang FIND Function sa VBA

Narito na nakakuha ng data set na may Mga Pangalan ng Aklat, Mga May-akda at Mga Presyo ng ilang aklat ng bookshop na tinatawag na Martin Bookstore.

Ngayon ang aming layunin ay makita ang iba't ibang uri ng paggamit ng Find function ng VBA mula sa set ng data na ito.

1. Gamitin ang Find Function sa VBA na Walang Parameter

Maaari mong gamitin ang Find function ng VBA na walang parameter.

Pagkatapos nito ay maghahanap ng isang partikular na halaga sa loob ng isang hanay ng mga cell at ibabalik ang unang tugma na nahanap nito.

Hanapin natin ang pangalang “P. B. Shelly” sa column May-akda ( C4:C13 ).

Ang linya na may Find function ay magiging:

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

Ang kumpletong VBA code ay magiging:

VBA Code:

7933

Output:

Gumagawa ito ng Macro na tinatawag na Hanapin . Kung patakbuhin mo ang Macro, ibabalik nito ang $C$6 , ang unang cell address na may pangalang P. B. Shelly .

Magbasa nang higit pa: Maghanap sa loob ng isang Saklaw na may VBA saExcel: Kasama ang Eksaktong at Bahagyang Mga Tugma

2. Ilapat ang Find Function sa VBA gamit ang After Parameter (Para Simulan ang Paghahanap mula sa isang Specific Cell)

Maaari mong gamitin ang After na parameter na may Find function sa VBA . Pagkatapos ay magsisimula itong maghanap ng value mula sa ibaba ng isang cell sa loob ng isang range.

Halimbawa, simulan natin ang paghahanap para sa pangalang “P. B. Shelly” mula sa ibaba ng cell C6 .

Ang linya ng code ay magiging:

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

At ang kumpletong VBA code ay magiging:

VBA Code:

4216

Output:

Ito ay magbabalik ng $C$13 dahil nagsisimula itong maghanap mula sa ibaba ng cell C6 , galing iyon sa cell C7 . Kaya nakakakuha ito ng P. B. Shelly sa cell C13 muna.

Magbasa pa: Paano Maghanap ng String sa isang Cell Gamit ang VBA sa Excel

3. Patakbuhin ang Find Function sa VBA na may Pambalot sa After Parameter (Upang Maghanap ng Value sa Pabilog na Paraan)

Ang parameter na After na may Find function naghahanap ng value sa pabilog na paraan

Ibig sabihin, magsisimula itong maghanap mula sa ibaba ng cell sa loob ng isang range, magtatapos sa paghahanap sa range, at pagkatapos ay magsisimula muli mula sa tuktok ng range.

Halimbawa, simulan natin ang paghahanap sa pangalang “John Keats” mula sa ibaba ng cell C8 gamit ang parameter na After .

Ang linya ng ang code ay magiging:

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

At angang kumpletong VBA code ay magiging:

VBA Code:

6982

Output:

Ito ay magbabalik ng $C$7 dahil nagsisimula itong maghanap mula sa ibaba ng cell C8 , iyon ay mula sa cell C9 .

Wala itong mahanap hanggang sa cell C13 , kaya magsisimula itong muli sa cell C4 at makahanap ng isa sa cell C7 .

Mga Katulad na Pagbasa:

  • Paano Maghanap ng String gamit ang VBA sa Excel (8 Halimbawa)
  • Hanapin ang Eksaktong Tugma Gamit ang VBA sa Excel (5 Paraan)
  • Paano Maghanap at Palitan Gamit ang VBA (11 Paraan)

4. Gamitin ang Find Function sa VBA gamit ang LookAt Parameter (Para sa Eksaktong o Bahagyang Tugma)

Maaari mong gamitin ang Find function sa VBA gamit ang LookAt parameter.

Gamitin ang LookAt = xlWhole para sa isang Eksaktong tugma, at LookAt=xlPart para sa isang Bahagyang tugma.

Halimbawa, subukan nating alamin kung mayroong anumang aklat na may pangalang “Ode” sa column na Pangalan ng Aklat ( B4:B13 ).

Kung gagamitin namin ang xlWhole sa linya ng code:

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

Magpapakita ng error ang output dahil hindi ito makakahanap ng anumang eksaktong na tugma.

Ngunit kung gagamit ka ng:

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

Pagkatapos ay babalik ito $B$9 , dahil mayroong isang aklat na may pangalang “Ode” sa cell B7 , Ode to the Nightingale.

Kaya ang kumpletong code para sa partial ay tugmaay:

VBA Code:

8696

5. Patakbuhin ang Find Function sa VBA gamit ang SearchDirection Parameter (Upang Tukuyin ang Direksyon ng Paghahanap)

Maaari mo ring gamitin ang Find function sa VBA kasama ang parameter na SearchDirection .

Gamitin ang SearchDirection = xlNext para sa paghahanap mula sa Itaas hanggang Ibaba .

At SearchDirection = xlPrevious para sa paghahanap mula sa Ibaba hanggang Itaas .

Halimbawa, subukan nating hanapin ang May-akda Elif Shafak sa column May-akda ( C4:C13 ).

Kung gagamitin namin ang xlNext sa linya ng code:

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

Pagkatapos ay babalik ito ng $C$5 .

Ngunit kung gagamitin mo ang:

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

Pagkatapos ay babalik ito $C$11 .

Kaya ang kumpletong code para sa paghahanap mula sa ibaba hanggang sa itaas ay:

VBA Code:

6453

6. Maghanap ng Function sa VBA na may MatchCase Parameter (Para sa Case-Sensitive o Insensitive Match)

Sa wakas, maaari mong gamitin ang Find function na may MatchCase na parameter.

Gamitin ang MatchCase = True para sa isang case-sensitive tugma , at MatchCase=False para sa isang case-insensitive tugma.

Halimbawa, subukan nating hanapin ang aklat na “ina” sa column na Pangalan ng Aklat ( B4:B13 ).

Kung gagamitin namin ang True sa linya ng code:

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

Magpapakita ng error ang output dahil mananalo ito' walang mahanaptugma.

Ngunit kung gagamitin mo ang:

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

Pagkatapos ay babalik ito $ B$9 dahil may aklat na pinangalanang “Nanay” sa cell B8 .

Kaya ang kumpletong code para sa ang case-insensitive na tugma ay:

VBA Code:

8912

Konklusyon

Gamit ang mga pamamaraang ito, maaari mong gamitin ang Find Function sa Visual Basic na Application. May tanong ka ba? Huwag mag-atubiling magtanong sa amin.

Si Hugh West ay isang napakaraming Excel trainer at analyst na may higit sa 10 taong karanasan sa industriya. May hawak siyang Bachelor's degree sa Accounting and Finance at Master's degree sa Business Administration. Si Hugh ay may hilig sa pagtuturo at nakabuo ng kakaibang diskarte sa pagtuturo na madaling sundin at maunawaan. Ang kanyang dalubhasang kaalaman sa Excel ay nakatulong sa libu-libong mag-aaral at propesyonal sa buong mundo na mapabuti ang kanilang mga kasanayan at maging mahusay sa kanilang mga karera. Sa pamamagitan ng kanyang blog, ibinahagi ni Hugh ang kanyang kaalaman sa mundo, nag-aalok ng mga libreng Excel tutorial at online na pagsasanay upang matulungan ang mga indibidwal at negosyo na maabot ang kanilang buong potensyal.