Hvernig á að nota Finna aðgerðina í VBA (6 dæmi)

  • Deildu Þessu
Hugh West

Ein mikilvægasta og mest notaða aðgerðin sem við notum í Visual Basic Application (VBA) er Find aðgerðin. Í þessari grein mun ég sýna þér hvernig þú getur notað FINDA aðgerðina í Excel með viðeigandi dæmum og myndskreytingum.

Hlaða niður æfingarvinnubók

Finndu aðgerð í VBA í Excel.xlsm

6 fljótleg dæmi til að nota FIND aðgerðina í VBA

Hér höfum við fékk gagnasett með bókanöfnum, höfundum og verði sumra bóka bókabúðar sem heitir Martin Bookstore.

Í dag Markmið okkar er að sjá ýmsar tegundir notkunar á Find fallinu á VBA úr þessu gagnasetti.

1. Notaðu Find aðgerðina í VBA án færibreytu

Þú getur notað Find aðgerðina á VBA án breytu.

Þá er mun leita að ákveðnu gildi innan sviðs frumna og skila fyrstu samsvöruninni sem það finnur.

Við skulum leita að nafninu “P. B. Shelly” í dálkinum Höfundur ( C4:C13 ).

Línan með Finna fallinu verður:

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

Heill VBA kóða verður:

VBA kóði:

3286

Framleiðsla:

Það framleiðir Fjölvi sem heitir Finna . Ef þú keyrir fjölvi mun það skila $C$6 , fyrsta vistfangi frumsins með nafninu P. B. Shelly .

Lesa meira: Finndu innan sviðs með VBA íExcel: Þar með talið nákvæmar og hluta samsvörun

2. Notaðu Finna aðgerðina í VBA með Eftir færibreytunni (Til að byrja að leita úr tiltekinni reit)

Þú getur notað After færibreytuna með Find aðgerðinni í VBA . Þá mun það byrja að leita að gildi fyrir neðan reit innan bils.

Til dæmis, við skulum byrja að leita að nafninu “P. B. Shelly” neðan úr reit C6 .

Kóðalínan verður:

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

Og allur VBA kóði verður:

VBA kóði:

6707

Úttak:

Það mun skila $C$13 vegna þess að það byrjar að leita fyrir neðan reit C6 , það er úr reit C7 . Svo það fær P. B. Shelly í reit C13 fyrst.

Lesa meira: Hvernig á að finna streng í a Cell með VBA í Excel

3. Keyrðu Find aðgerðina í VBA með því að vefja eftir færibreytunni (til að leita að gildi á hringlaga hátt)

After færibreytunni með Find fallinu leitar að gildi á hringlaga hátt

Þ.e.a.s. það byrjar að leita fyrir neðan reit innan svæðis, lýkur leit á bilinu og byrjar svo aftur efst á bilinu.

Til dæmis, við skulum byrja að leita að nafninu “John Keats” fyrir neðan reitinn C8 með því að nota After færibreytuna.

Línan á kóði verður:

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

Ogheill VBA kóði verður:

VBA kóði:

5764

Úttak:

Það mun skila $C$7 vegna þess að það byrjar að leita fyrir neðan reit C8 , það er frá reit C9 .

Það finnur ekkert upp í reit C13 , svo það byrjar aftur í reit C4 og finnur einn í reit C7 .

Svipuð lesning:

  • Hvernig á að finna streng með VBA í Excel (8 dæmi)
  • Finndu nákvæma samsvörun með því að nota VBA í Excel (5 leiðir)
  • Hvernig á að finna og skipta út með VBA (11 Leiðir)

4. Notaðu Find aðgerðina í VBA með LookAt færibreytunni (fyrir nákvæma eða hluta samsvörun)

Þú getur notað Find aðgerðina í VBA með LookAt færibreytu.

Notaðu LookAt = xlWhole fyrir Nákvæma samsvörun og LookAt=xlPart fyrir Hluta samsvörun.

Til dæmis, við skulum reyna að komast að því hvort það sé einhver bók með nafninu “Ode” í dálknum Bókarheiti ( B4:B13 ).

Ef við notum xlWhole í kóðalínunni:

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

Úttakið mun sýna villu vegna þess að það finnur enga nákvæma samsvörun.

En ef þú notar:

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

Þá mun það skila $B$9 því það er bók með nafninu “Ode” í hólfinu B7 , Ode to the Nightingale.

Svo heill kóðinn fyrir að hluta samsvöruninaer:

VBA kóði:

2167

5. Notaðu Finna aðgerðina í VBA með SearchDirection Parameter (til að tilgreina stefnu leitarinnar)

Þú getur líka notað Find aðgerðina í VBA með SearchDirection færibreytu.

Notaðu SearchDirection = xlNext til að leita frá Top til Botn .

Og SearchDirection = xlPrevious til að leita frá botni til topps .

Til dæmis skulum við reyna að finna höfundinn Elif Shafak í dálknum Höfundur ( C4:C13 ).

Ef við notum xlNext í kóðalínunni:

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

Þá mun það skila $C$5 .

En ef þú notar:

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

Þá mun það skila $C$11 .

Þannig að allur kóðinn til að leita frá neðst til topps er:

VBA kóði:

6588

6. Finndu aðgerð í VBA með MatchCase færibreytu (fyrir hástafaviðkvæma eða óviðkvæma samsvörun)

Að lokum geturðu notað Find aðgerðina með MatchCase færibreytunni.

Notaðu MatchCase = True fyrir hástafanæmu samsvörun , og MatchCase=False fyrir samsvörun án hástafa og hástafa.

Til dæmis skulum við reyna að finna bókina “móðir” í dálkinum Bókarheiti ( B4:B13 ).

Ef við notum True í kóðalínunni:

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

Úttakið mun sýna villu vegna þess að það mun' ekki fundið neinapassa.

En ef þú notar:

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

Þá mun það skila $ B$9 vegna þess að það er bók sem heitir “Mother” í reit B8 .

Þannig að heildarkóði fyrir samsvörun hástafaóháðra er:

VBA kóði:

9636

Niðurstaða

Með því að nota þessar aðferðir geturðu notað Finna aðgerðina í Visual Basic forritinu. Hefur þú einhverjar spurningar? Ekki hika við að spyrja okkur.

Hugh West er mjög reyndur Excel þjálfari og sérfræðingur með yfir 10 ára reynslu í greininni. Hann er með BA gráðu í bókhaldi og fjármálum og meistaragráðu í viðskiptafræði. Hugh hefur ástríðu fyrir kennslu og hefur þróað einstaka kennsluaðferð sem auðvelt er að fylgja eftir og skilja. Sérfræðiþekking hans á Excel hefur hjálpað þúsundum nemenda og fagfólks um allan heim að bæta færni sína og skara fram úr í starfi. Í gegnum bloggið sitt deilir Hugh þekkingu sinni með heiminum og býður upp á ókeypis Excel námskeið og netþjálfun til að hjálpa einstaklingum og fyrirtækjum að ná fullum möguleikum.