Kazalo
Uporabite lahko vgrajene funkcije Excelovega delovnega lista, kot so Funkcija VLOOKUP , je Izberite funkcijo in Funkcija PMT tudi v vaši kodi in aplikacijah VBA. Excel do funkcij delovnega lista lahko dostopate in jih uporabljate v VBA koda . Kot uporaba INDEX & amp; MATCH Funkcije delovnega lista v kodi Excel VBA.
Zakaj bi želeli uporabiti Excel Delovni list funkcije v vašem VBA koda Poleg tega vam ni treba izumljati lastnih funkcij, razen če je to res potrebno, če je funkcionalnost že na voljo. V bistvu morate le dostopati do funkcije, ki jo potrebujete, saj je že na voljo, in vam ni treba na novo izumljati kolesa.
Začnimo s primerom, ki prikazuje, kako uporabiti INDEX MATCH s programom Excel VBA.
Uporabili bomo INDEX in . MATCH Funkcije na spletnem mestu Excel VBA koda , da bi ustvaril preprost obrazec UserForm. Z obrazcem uporabnik izbere ime učenca, nato pa se pridobita in vrneta ustrezni spol omenjenega učenca in barva oči.
Prenesi delovni zvezek za prakso
Prenesite delovni zvezek za vadbo in se preizkusite sami.
INDEX-MATCH.xlsx9 enostavnih korakov za uporabo INDEX-a in MATCH-a v kodi VBA
Spletna stran INDEX in . MATCH Funkcije se v formulah pogosto uporabljajo v kombinaciji za izvajanje naprednih iskanj. VLOOKUP .
Podrobno smo že opisali, kako uporabljati INDEX in . MATCH za izvajanje naprednih poizvedb v Excel delovni zvezek v obliki formule delovnega lista, v prejšnji priročnik Zdaj bomo videli, kako uporabiti INDEX in . MATCH Funkcije skupaj v VBA koda , da bi zagotovili podobno funkcionalnost kot pri iskalniku Uporabniški obrazec bomo ustvarili.
Korak 1: Uporaba funkcij INDEX in MATCH v zbirki podatkov
- Začnemo z dvema listoma v našem delovnem zvezku z omogočenimi makri. Eden je prazen list z imenom Uporabniški obrazec , drugi pa je list, imenovan StudentInformation , ki vsebuje območje, ki prikazuje imena učencev, njihov ustrezni spol in barva oči. kot je prikazano spodaj.
Na hitro se spomnimo, če bi želeli uporabiti INDEX in . MATCH Funkcije v eni formuli, v dejanskem delovnem listu, ki nam poda spol imena učenca, ki ga želimo poiskati. Uporabili bi naslednjo formulo:
=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))
- Po pritisku na CTRL-ENTER , dobimo vrnjeno vrednost Females kot spol, kot je prikazano spodaj.
Korak 2: Spremenite ime stolpca B v StudentNames
- Zdaj bomo poimenovali območje A2: A31 , Imena študentov kot je prikazano spodaj.
- Skrijte StudentInformation tako, da kliknete z desno tipko miške in izberete Skrijte. Dobro je, da površinsko skrijete delovne liste v ozadju, ki vsebujejo informacije, za katere ne želite, da jih uporabnik ureja ali vidi.
Korak 3: Odprite okno Visual Basic
- Zdaj, ko je list UserForm aktiviran, gremo v Razvijalec> Koda> Visual Basic da bi odprli Urejevalnik Visual Basic (VBE) .
- Ko je v Vmesnik VBE , gremo na Insert, UserForm, kot je prikazano spodaj.
Korak 4: Spreminjanje lastnosti in dodajanje besedilnih polj
- Uporaba Lastnosti Okno , bomo naš obrazec preimenovali v StudentLookup , naslov spremenite v Poišči podatke o študentu, spremenite BackColor v svetlo modro in nastavite višino na 300 px in širino na 350 px. Če se okno Lastnosti ne prikaže, pritisnite F4 na tipkovnici, da bi ga videli.
- Zdaj bomo vstavili nalepko z uporabo Zbirka orodij (če iz nekega razloga ne morete videti orodjarne, pojdite v Pogled, Zbirka orodij ), spremenite napis v Izberi učenca in spremenili bomo BackColor v tem primeru na belo. Pisavo bomo nastavili na Georgia , slog pisave na krepko , velikost pisave na 12 in center Uporabljeni posebni učinek bo 1- fmSpecialEffectRaised kot je prikazano spodaj.
- Zdaj bomo pod oznako vstavili izbirno polje. To izbirno polje poimenujte cmdStudentName in za Vir vrstic , tip Imena študentov.
- Da bi videli učinek nastavitve Vir vrstic izbirnega polja, Kliknite . tek Pod/UserForm gumb .
- Zdaj zaradi nastavitve Vir vrstic ko uporabnik klikne na spustno puščico na obrazcu UserForm, se v izbirnem polju samodejno prikažejo imena študentov iz poimenovanega območja, kot je prikazano spodaj.
- Uporabniški obrazec zaprite s klikom na gumb za zaprtje. Pritisnite Alt-F11 da bi se vrnili v VBE .
- Po vrnitvi v VBE , dodajte še eno nalepko v obrazec UserForm (pod izbirnim poljem) in spremenite Naslov na . Spol in spremenili bomo BackColor v tem primeru na belo. Pisavo bomo nastavili na Georgia , slog pisave na krepko , velikost pisave na 12 in center Uporabljeni posebni učinek bo 1- fmSpecialEffectRaised kot je prikazano spodaj.
- Ustvarite spletno stran besedilno polje pod Spol oznaka in ga poimenujte txtGender .
- Dodaj drugo nalepko, imenovano Eye Barva in besedilno polje z imenom txtEyeColour kot je prikazano spodaj. Uporabite enake lastnosti za nalepko kot za dve drugi nalepki, ki sta bili prej dodani v obrazec, da bi zagotovili, da Uporabniški obrazec ima dosleden videz.
- Zdaj Izberite vse kontrolne elemente, ki so dodani v Uporabniški obrazec , doslej z uporabo kontrolne tipke.
- Center vodoravno, kot je prikazano spodaj.
Preberite več: Kako uporabiti formulo INDEX MATCH v Excelu (9 primerov)
Podobna branja
- Excel INDEX MATCH Če celica vsebuje besedilo
- Kako uporabiti formulo INDEX-MATCH v Excelu za ustvarjanje več rezultatov
- Indeksna ujemajoča se vsota več vrstic v Excelu (3 načini)
- Naučite se programiranja Excel VBA in makrov (brezplačna vadnica - korak za korakom)
- 22 makro primerov v Excelu VBA
Korak 5: Dodajanje gumba iz orodjarne
- Naslednji, Dodaj gumb na obrazcu z uporabo Zbirka orodij . Sprememba . Ime gumba, da cmdLookUp , je BackColor do svetlo oranžne barve, ohranite Tahoma pisava in sprememba slog v krepko , na koncu spremenite Naslov gumba, da Poglej do Študent Podrobnosti kot je prikazano spodaj.
Korak 6: Vstavite kodo VBA
- Z desno tipko miške kliknite , novo dodan gumb in izberite Oglejte si Koda .
- Vnesite naslednjo kodo za dogodek klik gumba:
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
Začnemo z izjavo tri spremenljivke in dodelitev variantnega podatkovnega tipa tem prijavljenim variantnim podatkovnim tipom. Variantni podatkovni tip je dober podatkovni tip za začetek, saj pri delu z delovni list funkcije Zato na začetku uporabite podatkovno vrsto varianta.
Kasneje je priporočljivo uporabiti eno od drugih bolj specifičnih podatkovnih vrst, kot so celo število ali niz. Pri naprednejši daljši kodi podatkovna vrsta varianta ne uporablja pomnilnika tako učinkovito kot druge podatkovne vrste.
Spremenljivka a črpanje vrednosti iz možnosti, ki jo uporabnik izbere v spustnem izbirnem polju na Uporabniški obrazec Če ni izbire, so vsa druga besedilna polja prazno .
Če izberete ime učenca iz kombinacija škatla na UserForm, potem spremenljivka b črpa vrednost z uporabo INDEX Delovni list Funkcija v kombinaciji s funkcijo MATCH Funkcija v VBA koda, kot je prikazano.
Vrednost poišče z uporabo enake sintakse kot funkcija delovnega lista. Pri uporabi funkcij delovnega lista v VBA , je VBA IntelliSense v tem posebnem primeru ni zelo intuitivno , zato je priporočljivo poznavanje sintakse, pridobljene s poznavanjem delovnih listov. Spremenljivka c črpa vrednost z uporabo INDEX Delovni list Funkcija v kombinaciji z MATCH Funkcija v VBA kodo, ko uporabnik izbere možnost v izbirnem polju.
Spremenljivka b doseže vrednost iz spol stolpec v delovnem listu, medtem ko spremenljivka c pridobi vrednost iz stolpca Barva oči v delovnem listu.
Besedilno polje za spol je napolnjeno z b in besedilno polje za barvo oči je napolnjeno z c vrednost.
Preberite več: Dogodki Excel VBA (popolna navodila)
Korak 7: Vstavite ukazni gumb
- Zdaj pojdite na delovni list z naslovom Uporabniški obrazec v delovnem zvezku. Format kot je prikazano spodaj, in vstavite sliko, ki jo je zagotovil ExcelWIKI .
- Pojdi na Razvijalec> Krmilniki> Vstavljanje> Krmilniki ActiveX.
- Vstavite gumb, kot je prikazano.
- Ko je gumb izbran, pojdite na Razvijalec> Nadzor> Lastnosti .
- Sprememba . Ime gumba, da cmdShowForm in Naslov na . Iskanje Informacije za študente .
Korak 8: Oglejte si kodo iskanja
- Z desno tipko miške kliknite gumb in izberite Prikaži kodo kot je prikazano spodaj.
- Vnesite naslednjo kodo:
Zasebni Sub cmdShowForm_Click() StudentLookup.Show Končni Sub
Korak 9: Razstavite končni rezultat
- Vrnitev na delovni list. Prepričajte se, da je odkljukano polje Oblikovanje Način .
- Kliknite . gumb, da se prikaže obrazec.
- Izberite ime učenca z uporabo izbirno polje . Koda bo samodejno vrnila spol in barvo oči učenca.
Ne pozabite na shranite vaš delovni zvezek kot Delovni zvezek z omogočenimi makri , če tega še niste storili, in tako je, uporabljamo Funkcije delovnega lista INDEX & amp; MATCH v kodi Excel VBA za ustvarjanje obrazca za iskanje.
Preberite več: Excelova formula INDEX-MATCH za vodoravno vračanje več vrednosti
Zaključek
Excel ima veliko uporabnih funkcije delovnega lista , ki se lahko uporabi v VBA , kot kot, kot, kot, kot, kot, kot, kot, kot, kot, kot, kot, kot, kot, kot. Funkcije delovnega lista INDEX & amp; MATCH v kodi Excel VBA. S temi funkcijami lahko razširite svoje VBA koda. Če že veste, kako delujejo v standardnem Excel delovnega lista, potem krivulja učenja ni tako velika, če prilagodite znanje za VBA . Dostop do funkcij delovnega lista, v svojem VBA koda lahko prihrani veliko časa, saj ni treba razvijati funkcij po meri za funkcionalnost, ki je že na voljo.
Komentirajte in nam povejte, ali v svoji kodi in aplikacijah VBA uporabljate funkcije delovnega lista.
Oddelek za pregled: Preverite svoje razumevanje
1) V stolpcu A nastavite preprost seznam treh predmetov, in sicer mandarin, korenja in pomaranč, nato v celici ob vsakem predmetu v stolpcu B navedite, ali so predmeti v stolpcu A sadje ali zelenjava, ko končate z nastavljanjem vzorčnih podatkov, uporabite INDEX & MATCH kombinacija funkcij, s katerimi lahko določite, ali je korenje sadje ali zelenjava.
2) Uporabite nabor podatkov ESPN o glavnih trenerjih lige NFL in ekipi, ki jo trenirajo. Ustvarite uporabniški obrazec, ki uporabniku omogoča, da v besedilno polje vnese ime določenega trenerja. Ko uporabnik klikne na gumb pošlji, se v drugem besedilnem polju izpiše ekipa, ki jo trenira. INDEX & MATCH kombinacija funkcij delovnega lista v kodi VBA.