Efnisyfirlit
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.