Com utilitzar INDEX MATCH amb Excel VBA

  • Comparteix Això
Hugh West

Podeu utilitzar les funcions integrades del full de treball d'Excel, com ara la Funció VLOOKUP , la FUNCIÓ CHOOSE i la Funció PMT al vostre codi i aplicacions VBA també. De fet, es pot accedir a la majoria de les funcions del full de treball Excel i utilitzar-les al VBA codi . Com utilitzar INDEX & MATCH Funcions del full de treball al codi VBA d'Excel.

Per què voleu utilitzar les funcions Excel Full de treball al vostre VBA codi ? Bé, per ampliar la funcionalitat del codi que esteu utilitzant. A més, no heu de crear les vostres pròpies funcions, tret que realment ho necessiteu, si la funcionalitat ja hi és. Bàsicament, només heu d'accedir a la funció que necessiteu, ja que ja hi és i no cal que reinventeu la roda.

Per tant, comencem amb un exemple que mostra com utilitzar INDEX  MATCH. amb Excel VBA.

Utilitzarem les funcions INDEX i MATCH a Excel VBA codi , per tal de crear un formulari d'usuari senzill. Mitjançant el formulari, l'usuari selecciona el nom de l'alumne i, a continuació, es recupera el sexe corresponent i el color dels ulls d'aquest alumne.

Descarregar el quadern de pràctiques

Descarregueu el quadern de pràctiques a practica tu mateix.

INDEX-MATCH.xlsx

9 passos senzills per utilitzar INDEX i MATCH dins del codi VBA

El ÍNDEX i COMPARACIÓ Les funcions s'utilitzen sovint en combinació en fórmules, per tal de realitzar cerques avançades. Les dues combinacions ofereixen certs avantatges respecte a VLOOKUP .

Ja hem tractat detalladament com utilitzar INDEX i MATCH per fer avançats cerques en un Excel llibre de treball com a fórmula de full de treball directa, en un tutorial anterior . Ara veurem com utilitzar les funcions INDEX i MATCH juntes al VBA codi , per tal de conferir una funcionalitat similar a la cerca Formulari d'usuari que crearem.

Pas 1: Apliqueu les funcions INDEX i MATCH al conjunt de dades

  • Comencem amb dos fulls a la nostra macro - llibre de treball habilitat. Un és un full buit anomenat UserForm , l'altre és un full anomenat StudentInformation , que conté un interval que mostra noms dels estudiants, el seu gènere corresponent i el color dels ulls com a es mostra a continuació.

Recordem-nos ràpidament si volíem utilitzar el INDEX i MATCH Funciona en una fórmula, al full de treball real per donar-nos el gènere del nom de l'alumne que volem buscar. Faríem servir la fórmula següent:

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

  • En prémer CTRL-ENTER , obtenim el valor de Dones retornat, com el gènere com es mostra a continuació.

Pas 2: Canvieu el nom de la columna B a StudentNames

  • Ara anomenarem l'interval A2: A31 , StudentNames com es mostra a continuació.

  • Amaga el full Informació de l'estudiant fent clic amb el botó dret i seleccionant Amaga. És una bona idea amagar superficialment els fulls de treball de fons que contenen la informació, que no voleu que l'usuari editi o vegi.

Pas 3: Obriu la finestra de Visual Basic

  • Ara amb el full UserForm activat, anem a Desenvolupador > Codi > Visual Basic per obrir l' Visual Basic Editor (VBE) .
  • Un cop a la interfície VBE , anem a Insereix, UserForm com es mostra a continuació .

Pas 4: Canviar les propietats i afegir quadres de text

  • Utilitzar la finestra Propietats , canviarem el nom del nostre formulari a StudentLookup , canviarem el subtítol a Cerca informació de l'estudiant, canviarem el BackColor a blau clar i establirem l'alçada a 300 px i l'amplada a 350 px. Si la finestra de propietats no es mostra, premeu la tecla F4 del vostre teclat per veure-la.

  • Nosaltres. Ara inserirà una etiqueta utilitzant la Caixa d'eines (si no podeu veure la Caixa d'eines, per algun motiu aneu a Visualització, Caixa d'eines ), canvieu el Subtítol a Tria un estudiant i canviarem el BackColor a blanc en aquest cas. Establirem el tipus de lletra a Geòrgia , l'estil de lletra a negreta , la mida de lletra a 12 iel centre alinea el text. L'efecte especial utilitzat serà el 1– fmSpecialEffectRaised tal com es mostra a continuació.

  • Ara inserirem un quadre combinat a sota del etiqueta. Anomeneu aquest quadre combinat cmdStudentName i, per a RowSource , escriviu StudentNames.

  • Per veure'l l'efecte d'establir el RowSource del quadre combinat, Feu clic al botó Executar Sub/Formulari d'usuari .
  • Ara per configurar el RowSource a l'interval amb nom, quan l'usuari fa clic a la fletxa desplegable del formulari d'usuari, el quadre combinat mostra els noms dels estudiants de l'interval amb nom, automàticament, com es mostra a continuació.

  • Tanqueu el formulari d'usuari fent clic al botó de tancament. Premeu Alt-F11 per tornar al VBE .
  • Un cop de nou al VBE , afegiu una altra etiqueta al formulari d'usuari ( a sota del quadre combinat) i canvieu el Títol a Gènere i canviarem el BackColor a blanc en aquest cas. Establirem el tipus de lletra a Geòrgia , l'estil de lletra a negreta , la mida de lletra a 12 i el centre alinearà el text . L'efecte especial utilitzat serà el 1– fmSpecialEffectRaised tal com es mostra a continuació.

  • Crea un quadre de text a sota de l' Etiqueta de gènere i anomena-la txtGender .
  • Afegiu una altra etiqueta anomenada Ull Color i un quadre de text anomenat txtEyeColour tal com es mostra a continuació. Utilitzeu les mateixes propietats per a l'etiqueta que per a les altres dues etiquetes afegides anteriorment al formulari, per tal de garantir que el Formulari d'usuari tingui un aspecte coherent.

  • Ara Seleccioneu tots els controls, afegits al Formulari d'usuari , fins ara utilitzant la tecla de control.

  • Centra horitzontalment, com es mostra a continuació.

Llegeix Més: Com utilitzar la fórmula INDEX MATCH a Excel (9 exemples)

Lectures similars

  • Excel INDEX MATCH si la cel·la conté text
  • Com utilitzar la fórmula INDEX-MATCH a Excel per generar diversos resultats
  • Index Coincidència Suma diverses files a Excel (3 maneres)
  • Aprèn programació i programació VBA d'Excel; Macros (tutorial gratuït - pas a pas)
  • 22 exemples de macros a Excel VBA

Pas 5: afegiu un botó de la caixa d'eines

  • A continuació, Afegiu un botó al formulari mitjançant la Caixa d'eines . Canvieu el Nom del botó a cmdLookUp , el BackColor a taronja clar, manteniu la lletra Tahoma i canvieu l'estil a negreta , finalment canvieu el Títol del botó a Mira amunt Estudiant Detalls com es mostra a continuació.

Pas 6: inseriu el codi VBA

  • Feu clic amb el botó dret del ratolí , el botó nou afegit i seleccioneu Mostra Codi .

  • Introduïu el codi següent per al botó esdeveniment de clic:

3709

Comencem declarant tres variables i assignant el tipus de dades variant a aquestes declarades tipus de dades variant. El tipus de dades variant és un bon tipus de dades per començar. Perquè quan treballeu amb funcions del full de treball , és possible que no sempre estigueu segurs de les sortides. Per tant, quan comenceu, utilitzeu el tipus de dades variant.

Més endavant, és recomanable utilitzar un dels altres tipus de dades més específics com ara enteger o cadena. Per a un codi més avançat i més llarg, el tipus de dades variant no utilitza la memòria de manera tan eficient com els altres tipus de dades.

La variable a treu el valor de l'opció que l'usuari selecciona a la quadre combinat desplegable al Formulari d'usuari . Si no hi ha cap selecció, tots els altres quadres de text estan buits .

Si seleccioneu un nom d'estudiant al combo quadre del Formulari d'usuari, , a continuació, la variable b dibuixa el valor utilitzant la funció INDEX Full de treball en combinació amb la funció MATCH Funció a el codi VBA , tal com es mostra.

Busca el valor utilitzant bàsicament la mateixa sintaxi que la funció del full de treball. Quan s'utilitzen funcions de full de treball a VBA , el VBA IntelliSense en aquest cas particular no és molt intuïtiu , per tant, la familiaritat ambes recomana la sintaxi extreta del coneixement del full de treball. La variable c dibuixa el valor utilitzant la INDEX Full de treball Funció en combinació amb la COINCIDENT Funció al codi VBA quan l'usuari selecciona una opció del quadre combinat.

La variable b obté el valor del gènere columna al full de treball, mentre que variable c obté el valor de la columna Color dels ulls del full de treball.

El quadre de text de gènere s'omple amb b . i el quadre de text del color dels ulls s'omple amb el valor de c .

Més informació: Esdeveniments d'Excel VBA (una directriu completa)

Pas 7: inseriu un botó d'ordres

  • Ara aneu al full de treball anomenat Formulari d'usuari al vostre llibre de treball. Formateu-lo , com es mostra a continuació, i inseriu la imatge proporcionada per ExcelWIKI .

  • Vés a Desenvolupador > Controls > Insereix > Controls ActiveX.

  • Insereix un botó com es mostra.

  • Amb el botó seleccionat, aneu a Desenvolupador > Controls > Propietats .

  • Canvia el Nom del botó a cmdShowForm i el Títol a Cerca Informació de l'estudiant .

Pas 8: visualitza Codi de cerca

  • Feu clic amb el botó dret al botó i seleccioneu Mostra el codi tal com es mostraa continuació.

  • Introduïu el codi següent:
7940

Pas 9: Mostra el resultat final

  • Torna al full de treball. Assegureu-vos que el Disseny Mode no estigui marcat.
  • Feu clic al botó per mostrar el formulari.

  • Seleccioneu el nom d'un estudiant mitjançant el quadre combinat . El codi retornarà automàticament el sexe i el color dels ulls de l'estudiant.

Recordeu desar el vostre llibre de treball com a llibre de treball habilitat per a macros , si encara no ho heu fet i ja ho teniu, fem servir INDEX & MATCH Funcions del full de treball al codi VBA d'Excel per tal de crear un formulari de cerca.

Més informació: Fórmula Excel INDEX-MATCH per retornar diversos valors horitzontalment

Conclusió

Excel té moltes funcions de full de càlcul útils, que es poden utilitzar en VBA , com ara amb INDEX & MATCH Funcions del full de treball al codi VBA d'Excel. Aquestes funcions us permetran ampliar el vostre codi VBA . Si ja sabeu com funcionen en un Excel<2 estàndard> full de treball, llavors la corba d'aprenentatge no és tan excel·lent adaptant els coneixements per a VBA . L'accés a les funcions del full de treball, al VBA codi pot suposar un estalvi de temps real. Perquè un no ha de desenvolupar funcions personalitzades per a una funcionalitat que ja hi és.

Si us plau, no dubteu a comentar i dir-ho.ens feu servir les funcions del full de treball al vostre codi i aplicacions VBA.

Secció de revisió: comproveu la vostra comprensió

1) Configureu una llista senzilla a la columna A de tres elements, a saber, mandarines, pastanagues i taronges. , a la cel·la que hi ha al costat de cada element de la columna B, indiqueu si els elements de la columna A són fruites o verdures, un cop hàgiu acabat de configurar les dades de mostra, utilitzeu el INDEX & Funció de combinació MATCH per oferir si les pastanagues són fruites o verdures.

2) Utilitzeu aquest conjunt de dades d'ESPN als entrenadors en cap de la NFL i a l'equip respectiu que entrenen. Creeu un formulari d'usuari que permeti a un usuari introduir el nom d'un entrenador determinat en un quadre de text. A continuació, feu que l'equip al qual està entrenant es lliuri en un altre quadre de text quan l'usuari faci clic a enviar. Utilitzeu INDEX & Combinació de funcions del full de treball COMPARA dins del vostre codi VBA.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.