Ako používať INDEX MATCH s programom Excel VBA

  • Zdieľajte To
Hugh West

Môžete využiť vstavané funkcie pracovného hárka programu Excel, ako napr. Funkcia VLOOKUP ,. VÝBER funkcie a Funkcia PMT aj v kóde a aplikáciách VBA. Excel funkcie pracovného hárka možno sprístupniť a používať v VBA kód ... ako napríklad použitie INDEX & amp; MATCH Funkcie pracovného hárka v kóde Excel VBA.

Prečo by ste chceli používať Excel Pracovný list funkcie vo vašom VBA kód ? No rozšíriť funkčnosť kódu, ktorý používate. Taktiež nemusíte vymýšľať vlastné funkcie, ak to naozaj nepotrebujete, ak funkčnosť už existuje. V podstate stačí pristupovať k funkcii, ktorú potrebujete, pretože už existuje, a potom nie je potrebné znovu vynaliezať koleso.

Začnime teda príkladom, ktorý ukazuje, ako používať INDEX MATCH s programom Excel VBA.

Využijeme INDEX a MATCH Funkcie na stránke Excel VBA kód , aby sa vytvoril jednoduchý formulár UserForm. Pomocou tohto formulára používateľ vyberie meno študenta a potom sa načíta a vráti zodpovedajúce pohlavie uvedeného študenta a farba očí.

Stiahnite si cvičebnicu

Stiahnite si cvičebnicu a precvičte si ju.

INDEX-MATCH.xlsx

9 jednoduchých krokov na používanie INDEXU a MATCH v kóde VBA

Stránka INDEX a MATCH Funkcie sa často používajú v kombinácii vo vzorcoch na vykonávanie pokročilých vyhľadávaní. VLOOKUP .

Už sme sa podrobne zaoberali tým, ako používať INDEX a MATCH na vykonávanie pokročilých vyhľadávaní v Excel pracovný zošit ako priamy vzorec pracovného hárka, v predchádzajúci návod Teraz si ukážeme, ako používať INDEX a MATCH Funkcie spoločne v VBA kód , aby sa podobná funkčnosť poskytla vyhľadávaniu Používateľský formulár vytvoríme.

Krok 1: Použitie funkcií INDEX a MATCH v súbore údajov

  • V našom zošite s povolenými makrami začíname s dvoma hárkami. Jeden je prázdny hárok s názvom Používateľský formulár , druhým je hárok s názvom Informácie pre študentov , ktorý obsahuje rozsah zobrazujúci mená študentov, ich príslušné pohlavie a farba očí ako je uvedené nižšie.

Pripomeňme si rýchlo, že ak by sme chceli použiť INDEX a MATCH Funkcie v jednom vzorci, v aktuálnom pracovnom liste, aby nám poskytli pohlavie mena študenta, ktorého chceme vyhľadať. Použili by sme nasledujúci vzorec:

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

  • Po stlačení CTRL-ENTER , dostaneme vrátenú hodnotu Females ako pohlavie, ako je uvedené nižšie.

Krok 2: Zmena názvu stĺpca B na StudentNames

  • Teraz pomenujeme rozsah A2: A31 , StudentNames ako je uvedené nižšie.

  • Skryť Informácie pre študentov kliknutím pravým tlačidlom myši a výberom Skryť. Je dobré povrchne skryť koncové pracovné hárky, ktoré obsahujú informácie, ktoré nechcete, aby používateľ upravoval alebo videl.

Krok 3: Otvorte okno jazyka Visual Basic

  • Teraz, keď je aktivovaný hárok UserForm, prejdeme na Vývojár> Kód> Visual Basic aby ste mohli otvoriť Editor jazyka Visual Basic (VBE) .
  • Po vstupe do Rozhranie VBE , prejdeme na Insert, UserForm, ako je znázornené nižšie.

Krok 4: Zmena vlastností a pridanie textových polí

  • Použitie Vlastnosti Okno , premenujeme náš formulár na StudentLookup , zmeňte nadpis na Vyhľadávanie informácií o študentoch, zmeňte BackColor na svetlomodrú a nastavte výšku na 300 px a šírku na 350 px. Ak sa okno s vlastnosťami nezobrazí, stlačte tlačidlo F4 na klávesnici, aby ste ho mohli zobraziť.

  • Teraz vložíme štítok pomocou Toolbox (ak z nejakého dôvodu nevidíte Toolbox, prejdite na View, Toolbox ), zmeníme nadpis na Choose a student a zmeníme BackColor na bielu. V tomto prípade nastavíme písmo na Georgia , štýl písma na tučné písmo , veľkosť písma na 12 a centrum zarovnať text. Použitý špeciálny efekt bude 1- fmSpecialEffectRaised ako je uvedené nižšie.

  • Teraz pod štítok vložíme combo box. Tento combo box pomenujeme cmdStudentName a pre RowSource , typ Mená študentov.

  • Aby ste videli účinok nastavenia RowSource combo boxu, Kliknite na . Beh Sub/UserForm Tlačidlo .
  • Teraz kvôli nastaveniu RowSource na pomenovaný rozsah, keď používateľ klikne na rozbaľovaciu šípku na formulári UserForm, combo box automaticky zobrazí mená študentov z pomenovaného rozsahu, ako je znázornené nižšie.

  • Zatvorte formulár UserForm kliknutím na tlačidlo zatvoriť. Stlačte tlačidlo Alt-F11 aby ste sa mohli vrátiť do VBE .
  • Po návrate do VBE , pridajte ďalší štítok do UserForm (pod combo box) a zmeňte Titulok na Pohlavie a zmeníme BackColor na bielu. V tomto prípade nastavíme písmo na Georgia , štýl písma na tučné písmo , veľkosť písma na 12 a centrum zarovnať text. Použitý špeciálny efekt bude 1- fmSpecialEffectRaised ako je uvedené nižšie.

  • Vytvoriť stránku textové pole pod Pohlavie štítok a pomenujte ho txtGender .
  • Pridať ďalší štítok s názvom Eye Farba a textové pole s názvom txtEyeColour ako je uvedené nižšie. Použite rovnaké vlastnosti ako pre ostatné dva štítky, ktoré boli predtým pridané do formulára, aby sa zabezpečilo, že Používateľský formulár má jednotný vzhľad.

  • Teraz Vyberte všetky ovládacie prvky, pridané do Používateľský formulár , zatiaľ pomocou ovládacieho tlačidla.

  • Stredisko vodorovne, ako je znázornené nižšie.

Prečítajte si viac: Ako používať vzorec INDEX MATCH v programe Excel (9 príkladov)

Podobné čítania

  • Excel INDEX MATCH Ak bunka obsahuje text
  • Ako používať vzorec INDEX-MATCH v programe Excel na generovanie viacerých výsledkov
  • Indexová zhoda súčtu viacerých riadkov v programe Excel (3 spôsoby)
  • Naučte sa programovanie Excel VBA & Makrá (bezplatný výukový program - krok za krokom)
  • 22 príkladov makier v programe Excel VBA

Krok 5: Pridanie tlačidla zo súboru nástrojov

  • Ďalšie, Pridať tlačidlo do formulára pomocou Toolbox . Zmena . Názov tlačidla na cmdLookUp ,. BackColor na svetlo oranžovú, nechajte Tahoma písmo a zmeniť štýl na tučné písmo , nakoniec zmeniť Titulok tlačidla na Pozrite sa na stránku . nahor Študent Podrobnosti na ako je uvedené nižšie.

Krok 6: Vloženie kódu VBA

  • Kliknite pravým tlačidlom myši na stránku , novo pridané tlačidlo a vybrať Zobraziť Kód .

  • Zadajte nasledujúci kód pre udalosť kliknutia na tlačidlo:

 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čneme vyhlásením tri premenné a priradenie variantného dátového typu k týmto deklarovaným variantným dátovým typom. Variantný dátový typ je dobrým dátovým typom na začiatok. Pretože pri práci s pracovný list funkcie , nemusíte si byť vždy istí výstupmi. Preto na začiatku používajte dátový typ variant.

Neskôr je vhodné použiť niektorý z ďalších špecifickejších typov údajov, ako napr. celé číslo alebo reťazec. V prípade pokročilejšieho dlhšieho kódu dátový typ variant nevyužíva pamäť tak efektívne ako ostatné dátové typy.

Premenná a čerpať hodnotu z možnosti, ktorú používateľ vyberie v rozbaľovacom zozname na Používateľský formulár Ak nie je žiadny výber, všetky ostatné textové polia sú prázdne .

Ak vyberiete meno študenta z combo box na Používateľský formulár, potom premenná b čerpá hodnotu pomocou INDEX Pracovný list Funkcia v kombinácii s MATCH Funkcia v VBA kód, ako je znázornené na obrázku.

Vyhľadá hodnotu v podstate rovnakou syntaxou ako funkcia pracovného hárka. Pri použití funkcií pracovného hárka v VBA ,. VBA IntelliSense v tomto konkrétnom prípade nie je veľmi intuitívne , preto sa odporúča oboznámiť sa so syntaxou získanou zo znalostí pracovného hárka. Premenná c čerpá hodnotu pomocou INDEX Pracovný list Funkcia v kombinácii s MATCH Funkcia v VBA kód, keď používateľ vyberie možnosť z výberového poľa.

Premenná b dosahuje hodnotu z pohlavie stĺpec v pracovnom hárku, zatiaľ čo premenná c získa hodnotu zo stĺpca Farba očí v pracovnom hárku.

Textové pole pohlavie je vyplnené b a textové pole Farba očí je vyplnené hodnotou c hodnotu.

Prečítajte si viac: Udalosti Excel VBA (kompletný návod)

Krok 7: Vloženie príkazového tlačidla

  • Teraz prejdite na pracovný hárok s názvom Používateľský formulár v zošite. Formát ako je uvedené nižšie, a vložte obrázok poskytnutý ExcelWIKI .

  • Prejsť na Vývojár> Ovládacie prvky> Vložiť> Ovládacie prvky ActiveX.

  • Vložte tlačidlo, ako je znázornené na obrázku.

  • Po výbere tlačidla, Prejsť na Vývojár> Ovládacie prvky> Vlastnosti .

  • Zmena . Názov tlačidla na cmdShowForm a Titulok na Vyhľadávanie Informácie pre študentov .

Krok 8: Zobrazenie kódu vyhľadávania

  • Kliknite pravým tlačidlom myši na stránku tlačidlo a vybrať Zobraziť kód ako je uvedené nižšie.

  • Zadajte nasledujúci kód:
 Private Sub cmdShowForm_Click() StudentLookup.Show End Sub 

Krok 9: Vystavenie konečného výsledku

  • Návrat na pracovný list. Uistite sa, že nezačiarknuté políčko Dizajn Režim .
  • Kliknite na . tlačidlo, aby sa zobrazil formulár.

  • Vyberte meno študenta pomocou combo box . Kód automaticky vráti pohlavie a farbu očí študenta.

Nezabudnite uložiť váš zošit ako zošit s povolenými makrami , ak ste tak ešte neurobili, a tu to máte, používame INDEX & amp; MATCH Funkcie pracovného hárka v kóde Excel VBA na vytvorenie vyhľadávacieho formulára.

Prečítajte si viac: Vzorec Excel INDEX-MATCH na vrátenie viacerých hodnôt horizontálne

Záver

Aplikácia Excel má mnoho užitočných funkcie pracovného hárka , ktoré možno využiť v VBA , ako napríklad, pomocou INDEX & amp; MATCH Funkcie pracovného hárka v kóde Excel VBA. Tieto funkcie vám umožnia rozšíriť VBA kód. Ak už viete, ako fungujú v štandardnom Excel pracovný list, potom krivka učenia nie je tak veľká tým, že prispôsobí znalosti pre VBA . Prístup k funkciám pracovného hárka, vo svojom VBA kód môže byť skutočnou úsporou času. Pretože nemusíte vyvíjať vlastné funkcie pre funkcie, ktoré už existujú.

Neváhajte a napíšte nám, či používate funkcie pracovného hárka vo svojom kóde a aplikáciách VBA.

Kontrolná časť: Otestujte si svoje porozumenie

1) V stĺpci A nastavte jednoduchý zoznam troch položiek, a to mandarínok, mrkvy a pomarančov, potom v bunke vedľa každej položky v stĺpci B vypíšte, či sú položky v stĺpci A ovocie alebo zelenina, po dokončení nastavenia vzorových údajov použite INDEX & MATCH funkcia kombinácie, ktorá umožňuje zistiť, či je mrkva ovocie alebo zelenina.

2) Použite tento súbor údajov od ESPN o hlavných tréneroch NFL a príslušných tímoch, ktoré trénujú. Vytvorte používateľský formulár, ktorý umožní používateľovi zadať meno určitého trénera do textového poľa. Potom nech sa v ďalšom textovom poli zobrazí tím, ktorý trénuje, keď používateľ klikne na tlačidlo odoslať. INDEX & MATCH kombináciu funkcií pracovného hárka v rámci vášho kódu VBA.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.