INDEX MATCHin käyttäminen Excel VBA:n avulla

  • Jaa Tämä
Hugh West

Voit hyödyntää sisäänrakennettuja Excel-taulukkotoimintoja, kuten esimerkiksi VLOOKUP-toiminto ... VALITSE toiminto ja PMT-toiminto myös VBA-koodissasi ja -sovelluksissasi. Itse asiassa suurin osa Excel laskentataulukon toimintoja voidaan käyttää ja käyttää osoitteessa VBA koodi . kuten käyttää INDEX & MATCH-taulukkotoiminnot Excel VBA-koodissa.

Miksi haluat käyttää Excel Työtaulukko toimintoja omassa VBA koodi ? No laajentaa käyttämäsi koodin toiminnallisuutta. Sinun ei myöskään tarvitse keksiä omia funktioita, ellei sinun todella tarvitse, jos toiminnallisuus on jo olemassa. Sinun tarvitsee periaatteessa vain käyttää tarvitsemaasi funktiota, koska se on jo olemassa, eikä pyörää tarvitse keksiä uudelleen.

Aloitetaan siis esimerkillä, jossa näytetään, miten käyttää INDEX MATCH Excel VBA:lla.

Aiomme käyttää INDEX ja MATCH Toiminnot osoitteessa Excel VBA koodi Lomakkeen avulla käyttäjä valitsee oppilaan nimen, jonka jälkeen haetaan ja palautetaan oppilaan sukupuoli ja silmien väri.

Lataa harjoituskirja

Lataa harjoituskirja, jotta voit harjoitella itse.

INDEX-MATCH.xlsx

9 helppoa vaihetta INDEXin ja MATCHin käyttämiseen VBA-koodissa

The INDEX ja MATCH Funktioita käytetään usein yhdistelmänä kaavoissa, jotta voidaan suorittaa kehittyneitä hakuja. Nämä kaksi yhdistelmää tarjoavat tiettyjä etuja verrattuna VLOOKUP .

Olemme jo käsitelleet yksityiskohtaisesti, miten käyttää INDEX ja MATCH suorittaa kehittyneitä hakuja Excel työkirja suorana laskentataulukkokaavana edellinen opetusohjelma Seuraavaksi katsomme, kuinka käyttää komentoa INDEX ja MATCH Toiminnot yhdessä VBA koodi , jotta voidaan antaa samankaltainen toiminto kuin look up -palvelussa. UserForm jonka aiomme luoda.

Vaihe1: Sovelletaan INDEX- ja MATCH-funktioita tietokokonaisuuteen.

  • Aloitamme makrotoiminnoilla varustetussa työkirjassa kahdella arkkiaineistolla. Toinen on tyhjä arkkiaineisto nimeltä UserForm , toinen on arkki nimeltä StudentInformation , joka sisältää alueen, joka osoittaa oppilaiden nimet, heidän sukupuolensa ja silmiensä väri. kuten alla on esitetty.

Muistutetaan itsellemme nopeasti, jos haluaisimme käyttää komentoa INDEX ja MATCH Toiminnot yhdessä kaavassa, varsinaisessa työarkissa, jotta saamme haluamamme oppilaan nimen sukupuolen. Käytämme seuraavaa kaavaa:

=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))

  • Kun painat CTRL-ENTER , saamme arvon Females takaisin sukupuolena, kuten alla on esitetty.

Vaihe 2: Vaihda B-sarakkeen nimi StudentNames-sarakkeeksi.

  • Nimeämme nyt alueen A2: A31 , StudentNames kuten alla on esitetty.

  • Piilota StudentInformation napsauttamalla hiiren kakkospainikkeella ja valitsemalla Piilota. On hyvä ajatus piilottaa pinnallisesti ne taustatietolomakkeet, jotka sisältävät tietoja, joita et halua käyttäjän muokkaavan tai näkevän.

Vaihe 3: Avaa Visual Basic -ikkuna

  • Nyt kun UserForm-arkki on aktivoitu, siirrymme osoitteeseen Kehittäjä> Koodi> Visual Basic avataksesi Visual Basic Editor (VBE) .
  • Kun olet kerran VBE-liitäntä , siirrymme kohtaan Insert, UserForm, kuten alla näkyy.

Vaihe 4: Ominaisuuksien muuttaminen ja tekstilaatikoiden lisääminen

  • Käyttämällä Ominaisuudet Ikkuna , nimeämme lomakkeemme uudelleen muotoon StudentLookup , vaihda otsikoksi Lookup Student Information, vaihda kenttään Lookup Student Information. BackColor vaaleansiniseksi, ja aseta korkeudeksi 300 px ja leveys 350 px. Jos Ominaisuudet-ikkuna ei näy, paina näppäintä F4 näppäintä näppäimistölläsi nähdäksesi sen.

  • Lisäämme nyt etiketin käyttämällä Työkalupakki (jos työkalupakki ei jostain syystä näy, siirry kohtaan Näytä, Työkalupakki ), vaihdetaan Caption muotoon Choose a student ja muutetaan kenttä BackColor valkoiseksi tässä tapauksessa. Asetamme fontin arvoksi Georgia , kirjasintyylille bold , kirjasinkoko 12 ja center Kohdista teksti. Käytettävä erikoisefekti on 1- fmSpecialEffectRaised (Erityistehostettu) kuten alla on esitetty.

  • Nimeä tämä komentoruutu cmdStudentName (cmdStudentName) ja kenttään RowSource , tyyppi StudentNames.

  • Nähdäksemme, miten asetuksen RowSource valintaruudun, Klikkaa Juoksu Sub/UserForm nappi .
  • Nyt, koska asetus RowSource nimettyyn alueeseen, kun käyttäjä napsauttaa UserForm-lomakkeen pudotusnuolta, valintaruutu näyttää automaattisesti opiskelijoiden nimet nimetyltä alueelta, kuten alla näkyy.

  • Sulje UserForm klikkaamalla sulje-painiketta. Paina painiketta. Alt-F11 palatakseen takaisin VBE .
  • Palattuaan takaisin VBE , lisää toinen tarra UserFormiin (valintaruudun alapuolelle) ja vaihda arvoa Kuvateksti osoitteeseen Sukupuoli ja me muutamme BackColor valkoiseksi tässä tapauksessa. Asetamme fontin arvoksi Georgia , kirjasintyylille bold , kirjasinkoko 12 ja center Kohdista teksti. Käytettävä erikoisefekti on 1- fmSpecialEffectRaised (Erityistehostettu) kuten alla on esitetty.

  • Luo tekstikenttä Sukupuoli etiketti ja nimeä se txtGender .
  • Lisää toinen etiketti nimeltä Silmä Väri ja tekstiruutu nimeltä txtEyeColour kuten alla on esitetty. Käytä samoja ominaisuuksia kuin kahdella muulla aiemmin lomakkeeseen lisätyllä tarralla, jotta voidaan varmistaa, että UserForm on yhtenäinen ulkoasu.

  • Nyt Valitse kaikki hallintalaitteet, jotka on lisätty UserForm , toistaiseksi ohjausnäppäimellä.

  • Keskusta vaakasuunnassa, kuten alla näkyy.

Lue lisää: Kuinka käyttää INDEX MATCH -kaavaa Excelissä (9 esimerkkiä)

Samanlaisia lukemia

  • Excel INDEX MATCH Jos solu sisältää tekstiä
  • Kuinka käyttää INDEX-MATCH-kaavaa Excelissä useiden tulosten tuottamiseksi?
  • Index Match Sum useiden rivien summa Excelissä (3 tapaa)
  • Opi Excel VBA-ohjelmointi & amp; Makrot (ilmainen opetusohjelma - askel askeleelta)
  • 22 makroesimerkkiä Excel VBA:ssa

Vaihe 5: Lisää painike työkalupakista

  • Seuraava, Lisää painike lomakkeeseen käyttämällä Työkalupakki . Muuta ... Nimi painikkeesta cmdLookUp ... BackColor vaalean oranssiksi, pidä Tahoma fontti ja muutos tyyli bold , vaihda lopuksi Kuvateksti painikkeesta Katso ylös Opiskelija Yksityiskohdat kuten alla on esitetty.

Vaihe 6: Lisää VBA-koodi

  • Napsauta hiiren kakkospainikkeella , äskettäin lisätty painike, ja valitse Näytä Koodi .

  • Kirjoita seuraava koodi painikkeen napsautustapahtumaan:

 Dim a As Variant Dim b As Variant Dim c As Variant a = cmdStudentName.Value Sheets("StudentInformation").Activate If a = "" Then b = "" Let txtGender.Text = b c = "" Let txtEyeColour.Text = c Else b = Application.WorksheetFunction.Index(Sheets("StudentInformation").Range("B2:B31"), Application.WorksheetFunction.Match(a, Sheets("StudentInformation").Range("A2:A31"), 0)) c =Application.WorksheetFunction.Index(Sheets("StudentInformation").Range("C2:C31"), Application.WorksheetFunction.Match(a, Sheets("StudentInformation").Range("A2:A31")), 0)) Let txtEyeColour.Text = c End If 

Aloitamme julistamalla kolme muuttujat ja osoittamalla variantti-tietotyyppi näille ilmoitetuille variantti-tietotyypeille. Variantti-tietotyyppi on hyvä tietotyyppi aloittaa. Koska kun työskennellään työlehti toiminnot , et välttämättä ole aina varma tulosteista. Käytä siksi aluksi muunnostietotyyppiä.

Myöhemmin on suositeltavaa käyttää jotakin muista erityisemmistä tietotyypeistä, kuten kokonaisluku tai merkkijono. Pidemmälle kehitetyssä pidemmässä koodissa variantti-tietotyyppi ei käytä muistia yhtä tehokkaasti kuin muut tietotyypit.

Muuttuja a piirtää arvon vaihtoehdosta, jonka käyttäjä valitsee pudotusvalikosta avattavasta yhdistelmäruudusta UserForm Jos valintaa ei ole, kaikki muut tekstiruudut ovat valintaruutuja. tyhjä .

Jos valitset oppilaan nimen Combo laatikko on UserForm, niin muuttuja b piirtää arvon käyttämällä INDEX Työtaulukko Toiminto yhdessä MATCH Toiminto vuonna VBA koodi, kuten kuvassa.

Se hakee arvon käyttämällä periaatteessa samaa syntaksia kuin työarkkitehtuurifunktio. Kun työarkkitehtuurifunktioita käytetään VBA ... VBA IntelliSense tässä erityistapauksessa ei ole kovin intuitiivinen , joten on suositeltavaa tuntea työarkkitehtuurin syntaksi, joka on hankittu työarkkitehtuurin tuntemuksen perusteella. Muuttuja c piirtää arvon käyttämällä INDEX Työtaulukko Toiminto yhdessä MATCH Toiminto vuonna VBA koodi, kun käyttäjä valitsee vaihtoehdon valintaruudusta.

Muuttuja b saa arvoa sukupuoli sarake laskentataulukossa, kun taas muuttuja c saa arvon työarkin Silmän väri -sarakkeesta.

Sukupuolen tekstikenttään merkitään b arvo ja silmien väri -tekstikenttään lisätään arvo c arvo.

Lue lisää: Excel VBA -tapahtumat (täydellinen ohje)

Vaihe 7: Lisää komentopainike

  • Siirry nyt taulukkoon nimeltä UserForm työkirjassasi. Muotoilu se, kuten alla näkyy, ja insert kuva, jonka on toimittanut ExcelWIKI .

  • Siirry osoitteeseen Kehittäjä> Ohjaimet> Lisää> ActiveX-ohjaimet.

  • Lisää painiketta kuvan mukaisesti.

  • Kun painike on valittu, mennä Kehittäjä> Ohjaus> Ominaisuudet .

  • Muuta ... Nimi painikkeesta cmdShowForm ja Kuvateksti osoitteeseen Katso Opiskelijan tiedot .

Vaihe 8: Näytä hakukoodi

  • Napsauta hiiren kakkospainikkeella painiketta ja valitse Näytä koodi kuten alla on esitetty.

  • Syötä seuraava koodi:
 Private Sub cmdShowForm_Click() StudentLookup.Show End Sub 

Vaihe 9: Lopullisen tuloksen esittäminen

  • Paluu ... työlehti. Varmista, että rastittamaton Suunnittelu Tila .
  • Klikkaa painiketta, jotta lomake tulee näkyviin.

  • Valitse oppilaan nimi käyttämällä valintaruutu Koodi palauttaa oppilaan sukupuolen ja silmien värin automaattisesti.

Muista save työkirjaasi makrotoiminnoilla varustettu työkirja , jos et ole jo tehnyt niin, ja siinä se on, käytämme apuna INDEX & MATCH-taulukkotoiminnot Excel VBA-koodissa hakulomakkeen luomiseksi.

Lue lisää: Excel INDEX-MATCH -kaava useiden arvojen palauttamiseksi vaakasuunnassa

Päätelmä

Excelissä on monia hyödyllisiä työarkin toiminnot , jota voidaan hyödyntää VBA , kuten, kuten, käyttäen INDEX & MATCH-taulukkotoiminnot Excel VBA-koodissa. Näiden toimintojen avulla voit laajentaa VBA koodi. Jos tiedät jo, miten ne toimivat tavallisessa Excel laskentataulukkoon, niin oppimiskäyrä ei ole niin suuri mukauttamalla tietämystä VBA . Työarkkitehtuurin toimintojen käyttäminen, omissa VBA koodi voi olla todellinen ajansäästö, koska käyttäjän ei tarvitse kehittää omia toimintoja toiminnoille, jotka ovat jo olemassa.

Voit vapaasti kommentoida ja kertoa meille, jos käytät taulukkotoimintoja VBA-koodissasi ja -sovelluksissasi.

Tarkistusjakso: Testaa ymmärryksesi

1) Määritä sarakkeeseen A yksinkertainen luettelo kolmesta tuotteesta eli mandariineista, porkkanoista ja appelsiineista, sitten sarakkeen B kunkin tuotteen vieressä olevaan soluun listaa, ovatko sarakkeen A tuotteet hedelmiä vai vihanneksia, kun olet saanut valmiiksi näytetietosi, käytä komentoa INDEX & MATCH yhdistelmätoiminto, joka antaa tietoa siitä, ovatko porkkanat hedelmiä vai vihanneksia.

2) Käytä tätä ESPN:ltä saatua tietoa NFL:n päävalmentajista ja heidän valmentamistaan joukkueista. Luo lomake, jonka avulla käyttäjä voi syöttää tietyn valmentajan nimen tekstikenttään ja antaa hänen valmentamansa joukkueen ilmoittautua toiseen tekstikenttään, kun käyttäjä napsauttaa lähetä-painiketta. INDEX & MATCH VBA-koodin sisällä oleva työarkkitehtuurin toimintoyhdistelmä.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.