VBA Etsi toiminto | Kuinka käyttää VBA Find -toimintoa? (Esimerkkejä)

Excel VBA -haku

Kun käytämme Findia normaalissa laskentataulukossa, painamme pikanäppäintä CTRL + F ja kirjoitamme löydettävät tiedot ja jos et halua arvoa, siirrymme seuraavaan otteluun, jos vastaavuuksia on paljon, se on ikävä tehtävä, mutta kun käytämme Etsimme VBA: ssa, se tekee meille tehtävät ja antaa meille täsmällisen vastaavuuden, ja siihen tarvitaan kolme argumenttia, yksi on mitä löytää, mistä löytää ja mihin katsoa.

Ennen kuin siirrymme VBA: hon ja aloitamme Find-funktion käytön makroissa, meidän on ensin opittava, mikä on Excel-funktio. Normaalissa excel-ohjelmassa muokkausryhmän Koti-välilehdessä on löydettävissä hakutoiminto, jota käytetään merkkijonon tai arvon löytämiseen solualueelta tai koko taulukosta.

Kun napsautamme tätä, saamme kaksi vaihtoehtoa;

Yksi on helppo löytää,

Voimme nähdä, että sillä on myös vaihtoehtotila, joka avaa toisen ominaisuuden.

Se tekee etsimisalgoritmin neljällä rajoituksella: Etsi mitä, Sisällä, Etsi ja etsi.

Toinen vaihtoehto Excelissä on löytää ja korvata, jota käytetään, kun löydämme merkkijonon, mutta mitä korvata se jollakin muulla arvolla,

Etsi toimintosyntaksi

Olemme oppineet yllä, mikä on Find in basic excel. VBA: ssa kirjoitamme koodit manuaalisesti, mutta ominaisuudet ovat samat kuin normaalissa excelissä. Tarkastellaan ensin syntaksia.

Expression.Find (Mitä, etsi,….)

Jos etsimämme arvo löytyy excel-funktiosta, se palauttaa solun, jossa arvo on, ja jos arvoa ei löydy, funktion kohteeksi ei aseteta mitään.

Makrojen lausekkeet ovat määriteltyjä alueita, kuten alue 1 tai alue 2. Mikä on avainsana sille, mitä haluamme etsiä tietylle arvolle? Lookin on avainsana sille, mitä yritämme etsiä, onko se kommentti, kaava tai merkkijono. Vastaavasti Etsi-toiminnossa on muita rajoituksia, jotka ovat valinnaisia. Ainoa pakollinen pakollinen kenttä on se arvo, jota yritämme etsiä.

Pohjimmiltaan VBA löytää, että Excelillä on yksi vaadittu argumentti, joka on mitä arvoa haluamme etsiä. Loput rajoituksista ovat valinnaisia, ja hakutoiminnossa on monia rajoituksia. Löydä-funktio on samanlainen kuin mitä etsimisfunktio on Excelissä.

Hakutoiminnon parametri on solualue. Kuten mistä alueesta haluamme löytää arvon. Se voi olla muutama sarake tai muutama solu tai koko laskentataulukko.

Esimerkkejä

Voit ladata tämän VBA FIND -toiminnon Excel-mallin täältä - VBA FIND -toiminnon Excel-malli

Esimerkki 1

Oletetaan, että tietojemme arvot ovat seuraavat

Yritämme löytää "Aran" samoista tiedoista.

  • VBA-koodin kirjoittaminen edellyttää, että kehittäjä-välilehti on otettu käyttöön Excelissä, jotta VBA-koodit voidaan kirjoittaa.

  • Aloitamme koodin kirjoittamisen kirjoittamalla seuraavan koodin alla olevan kuvan mukaisesti,
Alinäyte ()

Hämärä löytää merkkijonona

Hämärä Rng-alue

FindS = InputBox ("Kirjoita arvo, jonka haluat etsiä")

Arkkien kanssa (“Sheet1”). Alue (“A: A”)

  • Näyte on alitoiminnolle annettu funktion nimi.
  • Etsi on merkkijono, jonka haluamme käyttäjän hakevan.
  • Rng on muuttuja, jonka otimme alueelle.
  • Nyt pyydämme käyttäjää syöttämään arvon, joka näyttää alla olevalta kuvakaappaukselta,

  • Nyt määritämme hakutoimintomme moduulissa.

  • Toiminto löytää käyttäjän syöttämän arvon annetulta alueelta.
  • Nyt suljetaan funktio seuraavilla argumenteilla.

  • Nyt kun suoritamme koodin ensin, se pyytää käyttäjältä kehotetta arvoon.

  • Kun koodi on valmis, se palauttaa solun mistä tiedot löytyivät.

Esimerkki 2

Yllä olevassa esimerkissä oli neljä yksilöllistä nimeä, mutta entä jos tiedoissa olisi enemmän kuin yksi nimi, kuten esimerkiksi alla olevat tiedot,

Voimme nähdä, että nimi Aran toistetaan kahdesti yllä olevissa tiedoissa. Jos Excelin on löydettävä nimi Aran, se löytää sen solusta A2 ja pysähtyy, mutta solussa A6 on toinen arvo, joka on samanlainen kuin A2. Kuinka noutaa arvo? Tässä on ohje (Etsi, mitä, jälkeen) -syntaksi.

Jälkeen määrittelee solun, jonka jälkeen haluamme etsiä tietoja.

Kirjoita meidän koodi yllä oleville tiedoille.

  • Muista aina ottaa kehittäjä-välilehti käyttöön asetuksista ja sitten mukauttaa valintanauhaa Excelissä, jotta voit kirjoittaa koodin VBA: hon.
  • VBA: ssa saamme Microsoft Excel -objektit, joka on moduuli, johon kirjoitamme koodit.

  • Aikaisemmin työskentelimme arkilla 1, nyt työskentelemme arkilla 2, joten valitse arkki 2 toiselle moduulille ja tyhjä sivu tulee näkyviin.

  • Aloita nyt koodin kirjoittaminen määrittelemällä funktio ensin SUB Sample2 () ja painamalla Enter.

  • Nyt olemme määrittäneet tehtävämme ja aloitamme pääsyn pääosaan, joka määrittelee muuttujamme.

  • Määritä mitä Find-muuttujalla pitäisi olla,

  • Valitse arkit, joiden parissa työskentelemme, on tämän esimerkin taulukko 2,

  • Nyt löydämme tekstin, mitä käyttäjä syöttää A2-solun jälkeen, joten määritämme etsimisfunktion alla,

  • Nyt sulkemme koodin päättämällä merkinnän ja jos olosuhteet.

Mitä yllä oleva koodi tekee, on etsiä merkkijono solun A2 jälkeen ja palauttaa solu mistä tahansa löytyy.

Muistettavaa

  1. Ensinnäkin meidän on otettava kehittäjä-välilehti käyttöön voidaksemme käyttää VBA: ta.
  2. Mikä on erityinen arvo, jonka meidän on löydettävä?
  3. Jos arvoa ei löydy, funktion kohteeksi ei aseteta mitään.

$config[zx-auto] not found$config[zx-overlay] not found