VBA-hakutoiminto - Kuinka käyttää hakutoimintoa? (Esimerkkejä)

Sisällysluettelo

Excel VBA -hakutoiminto

Haku on toiminto, joka auttaa meitä hakemaan tiedot päätaulukosta yhden hakuarvon perusteella. VBA LOOKUP -toiminto ei vaadi tällaista tietorakennetta, LOOKUP-toiminnolla ei ole väliä onko tulos sarake hakuarvon oikealla vai vasemmalla puolella, silti se voi noutaa tiedot mukavasti.

Tämä toimii samalla tavalla kuin VLOOKUP-toiminto, mutta mikä tärkeintä, tämä on joustava tietorakenteessa. Kun sanotaan joustavaksi tietorakenteessa, se tarkoittaa, että VLOOKUP tarvitsee kaikki arvot päätaulukon hakuarvon oikealla puolella, eikä mikään jäljellä oleva hakuarvo VLOOKUP löydä sitä.

Syntaksi

Jos etsit jo LOOKUP-kaavaa VBA-editorista, olen varma, että olet hullu, koska VBA: ssa on kaava nimeltä LOOKUP.

Syy, miksi se ei ole oletusarvoisesti käytettävissä, koska LOOKUP ei ole VBA-funktio, se on laskentataulukko-toiminto. Joten LOOKUP-toiminnon käyttämiseksi meidän on ensin käytettävä laskentataulukko-toimintoa VBA-luokassa.

  • Arg 1 tarkoittaa hakuarvoa
  • Arg 2 on hakuvektori, ts. Hakuarvosarakkeen alue
  • Arg 3 on tulosvektorimme.

Kuinka käyttää VBA-hakutoimintoa? (Esimerkkejä)

Esimerkki 1

Meillä on seuraavat tiedot, joista haluamme saada tietyn tuotenimen keskihinnan käyttämällä VBA Excelin Haku-toimintoa.

Saadaksesi mobiililaitteiden keskihinnan käyttämään seuraavaa koodia.

Vaihe 1: Aloita alimenettely VBA: ssa.

Koodi:

Alahaku_esimerkki1 () Lopeta alihaku

Vaihe 2: Tarvitsen tuloksen F3-soluun. Joten koodini on Range ("F3"). Arvo =.

Koodi:

Alahaku_esimerkki1 () -alue ("F3"). Arvo Loppu Alim

Vaihe 3: Kuten sanoin, emme voineet päästä heti LOOKUP-toimintoon. Käytä siis ensin laskentataulukon toimintoluokkaa.

Vaihe 4: Kun käytämme laskentataulukon toimintoluokkaa, voimme nähdä kaikki tämän luokan käytettävissä olevat kaavat VBA: ssa, joten valitse LOOKUP tästä luettelosta.

Vaihe 5: Kun laskentataulukon toiminnot ovat VBA: ssa, emme näe kaavan selkeitä argumentteja. Tässä Arg 1 tarkoittaa hakuarvoa. Hakuarvo on solussa E3, joten kirjoita koodi Alueeksi (“E3”).

Koodi:

Alahaku_esimerkki1 () Alue ("F3"). Arvo = WorksheetFunction.Lookup (Alue ("E3"). Arvon loppu Ala

Vaihe 6: Arg 2 on hakuvektori, ts. Hakuarvosarakkeen alue. Tässä esimerkissä hakuvektorialueemme on välillä B3 - B10.

Koodi:

Alahaku_esimerkki1 () Alue ("F3"). Arvo = LaskentataulukkoFunction.Lookup (Alue ("E3"). Arvo, Alue ("B3: B10"), Loppuosa

Vaihe 7: Arg 3 on tulosvektorimme. Tarvitsemme tuloksen Keskihinta-sarakkeesta, joten tulosvektori on alueelta C3 - C10.

Koodi:

Alahaku_esimerkki1 () Alue ("F3"). Arvo = LaskentataulukkoFunction.Lookup (Alue ("E3"). Arvo, Alue ("B3: B10"), Alue ("C3: C10")) Alalohko

Ok, VBA-koodaus on valmis.

Suoritetaan koodi, ja meidän pitäisi saada tulos solusta F3.

Tällä tavoin voimme käyttää laskentataulukon funktioluokan LOOKUP-funktiota haettaessa toimitetun hakuarvon tiedot.

Esimerkki 2

Käytä muuttujia LOOKUP-toimintoon

Muuttujien avulla voimme myös saavuttaa tuloksia. Alla on esimerkki hakutoiminnon koodista muuttujilla.

Koodi:

Sub Lookup_Example2() Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range("F3") Set LookupValueCell = Range("E3") Set LookupVector = Range("B3:B10") Set ResultVector = Range("C3:C10") ResultCell = WorksheetFunction.Lookup(LookupValueCell, LookupVector, ResultVector) End Sub

Even though it looks lengthy, it will give good exposure to variables in VBA. Instead of supplying all the values to the formula directly, we have declared variables and assigned set of ranges and values to them.

Declaring variables and setting the reference to those variables is always a good practice in any coding language.

Things to Remember

  • LOOKUP is an alternative function to VLOOKUP.
  • LOOKUP ei välttämättä edellytä, että tulos sarake on hakuarvon oikealla puolella.
  • Sekä hakuvektorin että tulosvektorin alueen pituuden tulisi olla sama.
  • Vielä tärkeämpää on, että meidän on annettava sarakeindeksinumero, joka tarvitaan VLOOKUP-funktiolle.

Mielenkiintoisia artikkeleita...