Excel VBA -hakutoiminto

Excelissä olemme käyttäneet VLookupia monta kertaa. Juuri siinä Lisää-toiminnossa, jota käytetään hakemaan tai kartoittamaan kaikenlaisia ​​arvoja, joita haluamme. Samoin VBA: lla on hakupalvelu, joka toimii samalla tavalla kuin Excel Vlookup. VBA-haku on joustava tietorakenne, koska sitä voidaan käyttää minkä tahansa arvon kartoittamiseen minkä tahansa tyyppisestä taulukkojärjestelmästä. Tämä tarkoittaa, että jos käytämme Excel Vlookup -sovellusta, niin emme pysty kartoittamaan oikean sarakkeen tietoja vasemman sarakkeen tietojen kanssa yhdessä syntaksissa. VBA-haussa ei kuitenkaan ole asianmukaista kartoitusrakennetta. Meidän on vain noudatettava VBA-hakuhakemuksen syntaksia. Jos syntaksi on tyytyväinen ja kehystetty oikein, voimme hakea arvot taulukon oikealta tai vasemmalta puolelta.

VBA-hakutoiminnon syntaksi:

Missä,

  • Arg1 = Arvo, jota haluamme etsiä .
  • Arg2 = Sarakkeiden tai taulukon alue, josta haluamme etsiä .
  • Arg3 = Tulos Boolen tai Vektorina.

Kuinka käyttää hakutoimintoa Excel VBA: ssa?

Opimme käyttämään Excel-hakutoimintoa VBA-koodin avulla.

Voit ladata tämän VBA-haku Excel -mallin tästä - VBA-haku Excel -malli

VBA-haku - esimerkki # 1

VBA-hakukoodin kirjoittamiseen on monia tapoja. Tässä esimerkissä näemme yksinkertaisen tavan kirjoittaa VBA-haku. Tätä varten meillä on alla olevan kuvan mukainen tietojoukko. Tässä taulukossa on kilpailujen lukumäärä ja kilpailijoiden keskimääräinen nopeus. Nyt käytämme näitä tietoja soveltaaksesi VBA-hakua alla olevassa taulukossa sinisillä otsikoilla A8 - B8. Tätä varten noudata seuraavia vaiheita:

Vaihe 1: Avaa moduuli Lisää-valikko-välilehdeltä alla olevan kuvan mukaisesti.

Vaihe 2: Kirjoita suoritetun työn osaprosessori kyseiseen moduuliin. Täällä olemme valinneet nimen VBA-hakuksi.

Koodi:

 Sub VBA_Lookup1 () End Sub 

Vaihe 3: Valitse ulostulosolu, josta meidän on näytettävä hakuarvo. Tässä solussa on B9, josta meitä etsitään nimelle “Aniket” liittyvällä arvolla, joka on hakuarvo.

Koodi:

 Sub VBA_Lookup1 () Range ("B9"). Arvo End Sub 

Vaihe 4: Käytämme nyt taulukkolaskutoimintoa ja valitsemme luetteloon sisäänrakennetun hakutoiminnon alla olevan kuvan mukaisesti.

Koodi:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup End Sub 

Vaihe 5: Kun olemme valinneet hakutoiminnon, näemme Arg1, Arg2 ja Arg3 sen syntaksissa. Tätä varten laitamme ensin hakuarvoalueemme, joka on solu A9 Arg1: n sijasta.

Koodi:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, End Sub 

Vaihe 6: Valitse nyt Arg2 : lle hakualue, joka on solusta A2: A5.

Koodi:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, Range ("A2: A5"), End Sub 

Vaihe 7: Valitse viimeinkin hakuarvoalueet, jotka ovat B2: sta B5: een Arg3: n sijasta.

Koodi:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, Range ("A2: A5"), Range ("B2: B5")) End Sub 

Vaihe 8: Suorita koodi painamalla F5-näppäintä tai napsauttamalla valikkonauhan alapuolella olevaa Play-painiketta. Me näemme, kuten hakutapahtumassa, nimellä “Aniket” suoritettujen kilpailujen lukumäärä on 7.

VBA-haku - esimerkki 2

On toinen tapa soveltaa hakutoimintoa Excel VBA: ssa. Tätä varten käytämme samoja tietoja, jotka olemme nähneet esimerkissä-1. Tätä varten noudata seuraavia vaiheita:

Vaihe 1: Kirjoita osaprosessori VBA-hakuun alla olevan kuvan mukaisesti.

Koodi:

 Sub VBA_Lookup2 () End Sub 

Vaihe 2: Määritä muuttuja merkkijonona, jota käytetään Nimi-sarakkeen kartoittamiseen.

Koodi:

 Sub VBA_Lookup2 () himmennetään nimellä merkkijonon lopuna 

Vaihe 3: Määritetyssä muuttujan nimessä käytämme Vlookup- sovellusta alla olevan kuvan mukaisesti.

Koodi:

 Sub VBA_Lookup2 () himmennetty nimellä merkkijonona = Application.VLookup (End Sub 

Vaihe 4: Oletetaan, että hakuarvon nimi on taulukossa “Ashwani”.

Koodi:

 Sub VBA_Lookup2 () himmennetty nimellä merkkijonona = sovellus.VLookup ("Ashwani", loppu Sub 

Vaihe 5: Ja alue on A1: stä C6: een Sheet1: stä.

Koodi:

 Sub VBA_Lookup2 () himmennetty nimellä merkkijono = sovellus.VLookup ("Ashwani", arkki1.Range ("A1: C6"), lopussa Sub 

Vaihe 6: Jos haluamme nähdä täällä ratsastajan “Ashwani” keskimääräisen nopeuden, meidän on kartoitettava solu Lookup-syntaksissa, joka on 3. sijalla.

Koodi:

 Sub VBA_Lookup2 () himmennetty nimellä merkkijonona = sovellus.VLookup ("Ashwani", arkki1.Range ("A1: C6"), 3) End Sub 

Vaihe 7: Nyt nähdäksesi ajajan “Ashwani” keskimääräisen nopeuden, voimme käyttää MsgBoxia ja Debug Print -toimintoa. Debug Print -sovelluksen käyttö on kuitenkin paljon parempi kuin MsgBox. Joten määritä virheen tulostaminen määritellyllä muuttujan nimellä.

Koodi:

 Sub VBA_Lookup2 () Dim Name merkkijonona = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub Sub 

Vaihe 8: Avaa nyt välitön ikkuna, joka on siellä Näytä- valikko-välilehdellä nähdäksesi tulosteen.

Vaihe 9: Käännä koodi ja suorita se. Nähdään, että haku on kartoittanut Ashwanin nopeudella ja noutanut sen välittömään ikkunaan nimellä 86 .

Koodi:

 Sub VBA_Lookup2 () Dim Name merkkijonona = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub Sub 

VBA-haku - esimerkki 3

Jos haluat käyttää hakutoimintoa excel VBA: ssa, noudata seuraavia vaiheita:

Vaihe 1: Kirjoita osaprosessori VBA-hakuun alla olevan kuvan mukaisesti.

Koodi:

 Sub VBA_Lookup3 () End Sub 

Vaihe 2: Ilmoita muuttujan nimi Nimi merkkijonona alla olevan kuvan mukaisesti.

Koodi:

 Sub VBA_Lookup3 () himmennetään nimellä merkkijonon lopuna 

Vaihe 3: Määritä nyt etsittävä nimi määritetylle muuttujan nimelle alla esitetyllä tavalla.

Koodi:

 Sub VBA_Lookup3 () Dim Name merkkijonona = = Deepinder "End Sub 

Vaihe 4: Käytä mitä tahansa sanaa määritelläksesi ja käyttääksesi hakua sanoa LUp . Ja käytä tässä taulukkolaskentatoimintoa Vlookupin kanssa kuten alla.

Koodi:

 Sub VBA_Lookup3 () himmennetty nimellä merkkijonona = = Syvennys "LUp = Application.WorksheetFunction.VLookup (MsgBox" Keskimääräinen nopeus on: "& LUp End Sub 

Vaihe 5: Käytä nyt samaa Vlookup-syntaksia kuin Excelissä. Aseta Arg1: ään Nimi-muuttuja, valitse sitten aluematriisi ja etsi arvo, jonka haluamme saada. Tässä sarakkeessa on 3, kuten alla on esitetty.

Koodi:

 Sub VBA_Lookup3 () himmennetty nimellä merkkijonona nimellä = "Syvennys" LUp = Sovellus.WorksheetFunction.VLookup (nimi, Arkki1.Range ("A2: C6"), 3, Väärä) MsgBox "Keskimääräinen nopeus on:" & LUp lopp. Sub 

Vaihe 6: Käytä nyt MsgBoxia nähdäksesi tulosteen.

Koodi:

 Sub VBA_Lookup3 () himmennetty nimellä merkkijonona nimellä = "Syvennys" LUp = Sovellus.WorksheetFunction.VLookup (nimi, Arkki1.Range ("A2: C6"), 3, Väärä) MsgBox "Keskimääräinen nopeus on:" & LUp lopp. Sub 

Vaihe 7: Käännä ja suorita koodi. Näemme nimessä ”Deepinder” keskimääräisen nopeuden olevan 88. Taulukossa sama arvo on annettu nimelle Deepinder.

Koodi:

 Sub VBA_Lookup3 () himmennetty nimellä merkkijonona nimellä = "Syvennys" LUp = Sovellus.WorksheetFunction.VLookup (nimi, Arkki1.Range ("A2: C6"), 3, Väärä) MsgBox "Keskimääräinen nopeus on:" & LUp lopp. Sub 

Plussat Excel VBA -hakutoiminnosta

  • Se on yhtä helppo käyttää ja toteuttaa kuin säännöllisten Excel Vlookup -kaavojen käyttäminen Excelissä.
  • Voimme käyttää minkä tahansa tyyppisiä alueita ja matriiseja VBA-hakuissa.
  • VBA-hakua sovellettaessa on hyvin vähän tai ei lainkaan rajoituksia.

Muistettavat asiat

  • Voimme käyttää hakua Vlookupin tilalle missä tahansa tilanteessa.
  • Etsintävektorin ja tulosvektorin alueiden tulisi olla samat.
  • Kun olet valmistanut sovelluksen, tallenna tiedosto makroetuksi -muodossa, jotta koodi säilyy.
  • Ei ole pakollista asettaa tulossaraketta aina, kun se on hakuarvon oikealla puolella.

Suositellut artikkelit

Tämä on opas VBA-hakuun. Tässä keskustellaan siitä, kuinka voit käyttää Excel VBA -hakutoimintoa käytännön esimerkkien ja ladattavien Excel-mallien kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA-kokoelma (esimerkkejä)
  2. VBA IF -lausunnot | Excel-mallit
  3. Kuinka käyttää Excel VBA -lajittelutoimintoa?
  4. VBA while Loop (esimerkkejä Excel-mallilla)
  5. VBA Environ

Luokka: