Kā lietot INDEX MATCH ar Excel VBA

  • Dalīties Ar Šo
Hugh West

Varat izmantot iebūvētās Excel darblapas funkcijas, piemēram, šādas. VLOOKUP funkcija , un Izvēlēties funkciju un PMT funkcija arī jūsu VBA kodā un lietojumprogrammās. Patiesībā lielākā daļa Excel darblapas funkcijām var piekļūt un izmantot VBA kods . Piemēram, izmantot INDEX & amp; MATCH darblapas funkcijas programmā Excel VBA kods.

Kāpēc vēlaties izmantot Excel Darba lapa funkcijas jūsu VBA kods ? Nu, lai paplašinātu jūsu izmantotā koda funkcionalitāti. Turklāt jums nav jāizdomā savas funkcijas, ja vien jums tas patiešām nav nepieciešams, ja funkcionalitāte jau ir pieejama. Viss, kas jums būtībā ir jādara, ir piekļūt vajadzīgajai funkcijai, jo tā jau ir pieejama, un tad nav nepieciešams izgudrot riteni no jauna.

Sāksim ar piemēru, kurā parādīts, kā izmantot INDEX MATCH ar Excel VBA.

Mēs izmantosim INDEX un MATCH Funkcijas vietnē Excel VBA kods , lai izveidotu vienkāršu lietotāja veidlapu. Izmantojot šo veidlapu, lietotājs izvēlas skolēna vārdu, un pēc tam tiek iegūts un atgriezts atbilstošais minētā skolēna dzimums un acu krāsa.

Lejupielādēt Practice Workbook

Lūdzu, lejupielādējiet prakses darba burtnīcu, lai praktizētos.

INDEX-MATCH.xlsx

9 vienkārši soļi INDEX un MATCH izmantošanai VBA kodā

Portāls INDEX un MATCH Funkcijas formulās bieži tiek izmantotas kombinācijā, lai veiktu padziļinātas meklēšanas darbības. Abas kombinācijas piedāvā zināmas priekšrocības salīdzinājumā ar VLOOKUP .

Mēs jau esam detalizēti aprakstījuši, kā izmantot INDEX un MATCH lai veiktu uzlabotas meklēšanas Excel darbgrāmata kā vienkāršu darblapas formulu, kurā iepriekšējā pamācība . Tagad mēs apskatīsim, kā izmantot INDEX un MATCH Funkcijas kopā VBA kods , lai piešķirtu līdzīgu funkcionalitāti meklētājprogrammai Lietotāja veidlapa mēs gatavojamies radīt.

1. solis: INDEX un MATCH funkciju piemērošana datu kopā

  • Mēs sākam ar divām lapām mūsu darbgrāmatā, kurā ir iespējota makru lietošana. Viena no tām ir tukša lapa ar nosaukumu Lietotāja veidlapa , otra ir lapa ar nosaukumu StudentInformation , kas ietver diapazonu, kurā norādīts skolēnu vārdi, atbilstošais dzimums un acu krāsa. kā parādīts turpmāk.

Atgādināsim sev ātri, ja mēs vēlētos izmantot INDEX un MATCH Funkcijas vienā formulā, faktiskajā darblapā, lai sniegtu mums tā skolēna vārda dzimumu, kuru vēlamies meklēt. Mēs izmantotu šādu formulu:

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

  • Nospiežot CTRL-ENTER , kā dzimums tiek atgriezta vērtība Females, kā parādīts turpmāk.

2. solis: mainiet B kolonnas nosaukumu uz StudentNames

  • Tagad mēs nosauksim diapazonu A2: A31 , StudentNames kā parādīts turpmāk.

  • Slēpt StudentInformation lapu, noklikšķinot ar peles labo pogu un izvēloties Paslēpt. Laba ideja ir virspusēji paslēpt aizmugurējās darblapas, kurās ir informācija, ko lietotājs nevēlas rediģēt vai redzēt.

3. solis: Atveriet Visual Basic logu

  • Tagad, kad lapa UserForm ir aktivizēta, mēs dodamies uz Izstrādātājs> Kods> Visual Basic lai atvērtu Visual Basic redaktors (VBE) .
  • Pēc tam, kad VBE saskarne , mēs ejam uz Insert, UserForm, kā parādīts tālāk.

4. solis: Mainīt īpašības un pievienot teksta lodziņus

  • Izmantojot Īpašības Logs , mēs pārdēvēsim mūsu veidlapu par StudentLookup , mainiet Virsrakstu uz Meklēt informāciju par studentu, mainiet BackColor uz gaiši zilu un iestatiet augstumu uz 300 px un platums līdz 350 px. Ja Properties logs netiek parādīts, nospiediet pogu F4 tastatūras taustiņu, lai to redzētu.

  • Tagad mēs ievietosim etiķeti, izmantojot Toolbox (ja kādu iemeslu dēļ nevarat apskatīt rīkkopu, dodieties uz sadaļu Skatīt, Toolbox ), mainiet Virsrakstu uz Izvēlēties skolēnu, un mēs mainīsim BackColor uz baltu šajā gadījumā. Mēs iestatīsim fontu uz Gruzija , fonta stilu uz treknrakstā , fonta lielumu uz 12 , un centrs izlīdzināt tekstu. Izmantotais īpašais efekts būs 1- fmSpecialEffectRaised kā parādīts turpmāk.

  • Tagad mēs ievietosim kombo lodziņu zem etiķetes. Nosauciet šo kombo lodziņu cmdStudentName un RowSource , tips Studentu vārdi.

  • Lai redzētu, kāda ietekme ir iestatīšanas RowSource kombo lodziņā, Noklikšķiniet uz skrējiens Sub/UserForm pogu .
  • Tagad iestatīšanas dēļ RowSource uz nosaukto diapazonu, kad lietotājs noklikšķina uz nolaižamās bultiņas lietotāja veidlapā, kombo lodziņā automātiski tiek parādīti skolēnu vārdi no nosauktā diapazona, kā parādīts turpmāk.

  • Aizveriet lietotāja veidlapu, noklikšķinot uz aizvēršanas pogas. Nospiediet Alt-F11 lai atgrieztos uz VBE .
  • Pēc atgriešanās VBE , pievienojiet lietotāja veidlapai vēl vienu uzlīmi (zem kombo rūtiņas) un mainiet Virsraksts uz Dzimums un mēs mainīsim BackColor uz baltu šajā gadījumā. Mēs iestatīsim fontu uz Gruzija , fonta stilu uz treknrakstā , fonta lielumu uz 12 , un centrs izlīdzināt tekstu. Izmantotais īpašais efekts būs 1- fmSpecialEffectRaised kā parādīts turpmāk.

  • Izveidot teksta lodziņu zem Dzimums etiķete un nosauciet to txtGender .
  • Pievienot citu etiķeti ar nosaukumu Acs Krāsa un teksta lodziņu ar nosaukumu txtEyeColour kā parādīts turpmāk. Izmantojiet etiķetes īpašības ir tādas pašas kā abām pārējām iepriekš veidlapai pievienotajām etiķetēm, lai nodrošinātu, ka veidlapas Lietotāja veidlapa ir vienots izskats.

  • Tagad Atlasiet visas vadības ierīces, kas pievienotas Lietotāja veidlapa , līdz šim izmantojot vadības taustiņu.

  • Centrs horizontāli, kā parādīts turpmāk.

Lasīt vairāk: Kā lietot INDEX MATCH formulu programmā Excel (9 piemēri)

Līdzīgi lasījumi

  • Excel INDEX MATCH Ja šūnā ir teksts
  • Kā lietot INDEX-MATCH formulu programmā Excel, lai ģenerētu vairākus rezultātus
  • Indeksa atbilstības summa vairākās rindās programmā Excel (3 veidi)
  • Uzziniet Excel VBA programmēšanu & amp; Makro (bezmaksas apmācība - soli pa solim)
  • 22 makro piemēri programmā Excel VBA

5. solis: Pievienojiet pogu no rīkjoslas

  • Nākamais, Pievienot pogu uz veidlapas, izmantojot Toolbox . Mainīt . Nosaukums no pogas, lai cmdLookUp , un BackColor līdz gaiši oranžai krāsai, turiet Tahoma fontu un mainīt stilu, lai treknrakstā , beidzot mainiet Virsraksts no pogas, lai Skaties uz augšu Students Sīkāka informācija kā parādīts turpmāk.

6. solis: Ievietojiet VBA kodu

  • Ar peles labo pogu noklikšķiniet uz , jaunpievienoto pogu un atlasīt Skatīt Kods .

  • Ievadiet šādu kodu pogas klikšķa notikumam:

 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 

Mēs sākam, paziņojot. trīs mainīgie un variantu datu tipu piešķiršana šiem deklarētajiem variantu datu tipiem. Variantu datu tips ir labs datu tips, ar ko sākt darbu, jo, strādājot ar darba lapa funkcijas , ne vienmēr varat būt pārliecināts par izejas datiem. Tāpēc, uzsākot darbu, izmantojiet varianta datu tipu.

Vēlāk ir ieteicams izmantot kādu no citiem specifiskākiem datu tipiem, piemēram. vesels skaitlis vai virkne. Sarežģītākam un garākam kodam variantu datu tips neizmanto atmiņu tik efektīvi kā citi datu tipi.

Mainīgais a izdarīt vērtību no opcijas, ko lietotājs izvēlas nolaižamajā kombo lodziņā uz Lietotāja veidlapa Ja nav atlases, tad visi pārējie teksta lodziņi ir tukšs .

Ja izvēlaties skolēna vārdu no combo kaste par Lietotāja veidlapa, tad mainīgais b iegūst vērtību, izmantojot INDEX Darba lapa Funkcija kombinācijā ar MATCH Funkcija in the VBA kods, kā parādīts.

Tā meklē vērtību, izmantojot būtībā tādu pašu sintaksi kā darblapas funkcija. Izmantojot darblapas funkcijas programmā VBA , un VBA IntelliSense šajā konkrētajā gadījumā nav ļoti intuitīvs , tāpēc ieteicams pārzināt sintaksi, kas iegūta, izmantojot darblapas zināšanas. Mainīgais c zīmē vērtību, izmantojot INDEX Darba lapa Funkcija kopā ar MATCH Funkcija in the VBA kods, kad lietotājs izvēlas opciju no kombo rūtiņas.

Mainīgais b iegūst vērtību no dzimums sleja darblapā, bet mainīgais c iegūst vērtību no darblapas Acu krāsa slejas.

Dzimuma teksta lodziņš ir aizpildīts ar b vērtība un acu krāsas teksta lodziņš tiek aizpildīts ar c vērtību.

Lasīt vairāk: Excel VBA notikumi (pilnīga rokasgrāmata)

7. solis: Komandas pogas ievietošana

  • Tagad dodieties uz darblapu ar nosaukumu Lietotāja veidlapa savā darbgrāmatā. Formāts to, kā parādīts turpmāk, un ievietot attēls, ko sniedz ExcelWIKI .

  • Iet uz Izstrādātājs> Vadīklas> Ievietot> ActiveX vadības elementi.

  • Ievietot pogu, kā parādīts attēlā.

  • Ja ir atlasīta poga, doties uz Izstrādātājs> Kontroles> Īpašības .

  • Mainīt . Nosaukums no pogas, lai cmdShowForm un Virsraksts uz Pārlūkošana Informācija par studentiem .

8. solis: Skatiet meklēšanas kodu

  • Ar peles labo pogu noklikšķiniet uz pogu un atlasīt Skatīt kodu kā parādīts turpmāk.

  • Ievadiet šādu kodu:
 Privāta apakšsadaļa cmdShowForm_Click() StudentLookup.Show Beigu apakšsadaļa 

9. solis: Izstādiet galīgo rezultātu

  • Atgriezties uz darba lapa. Pārliecinieties, ka nav atzīmēta izvēles rūtiņa Dizains Režīms .
  • Noklikšķiniet uz pogu, lai parādītu veidlapu.

  • Atlasiet skolēna vārdu, izmantojot kombinētais logs . Kods automātiski atgriezīs skolēna dzimumu un acu krāsu.

Neaizmirstiet saglabāt savu darbgrāmatu kā darbgrāmata ar iespējotu makru , ja vēl neesat to izdarījis, un šeit jūs to redzat, mēs izmantojam INDEX & amp; MATCH darblapas funkcijas programmā Excel VBA kods lai izveidotu meklēšanas veidlapu.

Lasīt vairāk: Excel INDEX-MATCH formula, lai horizontāli atgrieztu vairākas vērtības

Secinājums

Excel ir daudz noderīgu darblapas funkcijas , ko var izmantot VBA , piemēram, izmantojot INDEX & amp; MATCH darblapas funkcijas programmā Excel VBA kods. Šīs funkcijas ļaus jums paplašināt VBA kods. Ja jau zināt, kā tās darbojas standarta Excel darba lapa, tad mācīšanās līkne nav tik liela, pielāgojot zināšanas par VBA . Piekļuve darblapas funkcijām, savā VBA kods Tas var ietaupīt laiku, jo nav jāizstrādā pielāgotas funkcijas jau esošajai funkcionalitātei.

Lūdzu, nekautrējieties komentēt un pastāstiet mums, vai izmantojat darblapas funkcijas savā VBA kodā un lietojumprogrammās.

Pārskata sadaļa: Pārbaudiet savu izpratni

1) A slejā izveidojiet vienkāršu sarakstu ar trim vienībām, proti, mandarīniem, burkāniem un apelsīniem, pēc tam blakus katrai vienībai B slejā norādiet, vai A slejā minētās vienības ir augļi vai dārzeņi, un, kad esat pabeidzis atlases datu iestatīšanu, izmantojiet INDEX & amp;amp; MATCH kombinācijas funkcija, lai noteiktu, vai burkāni ir augļi vai dārzeņi.

2) Izmantojiet šo ESPN datu kopu par NFL galvenajiem treneriem un attiecīgo komandu, kuru viņi trenē. Izveidojiet lietotāja veidlapu, kas ļauj lietotājam teksta lodziņā ievadīt konkrēta trenera vārdu. Pēc tam, kad lietotājs noklikšķina uz pogas iesniegt, citā teksta lodziņā tiek norādīta komanda, kuru viņš trenē. Izmantojiet INDEX & amp;amp; MATCH darblapas funkciju kombinācija jūsu VBA kodā.

Hjū Vests ir ļoti pieredzējis Excel treneris un analītiķis ar vairāk nekā 10 gadu pieredzi šajā nozarē. Viņam ir bakalaura grāds grāmatvedībā un finansēs un maģistra grāds uzņēmējdarbības vadībā. Hjū aizraujas ar mācīšanu, un viņš ir izstrādājis unikālu mācīšanas pieeju, kas ir viegli izpildāma un saprotama. Viņa ekspertu zināšanas programmā Excel ir palīdzējušas tūkstošiem studentu un profesionāļu visā pasaulē uzlabot savas prasmes un izcelties karjerā. Izmantojot savu emuāru, Hjū dalās savās zināšanās ar pasauli, piedāvājot bezmaksas Excel apmācības un tiešsaistes apmācību, lai palīdzētu personām un uzņēmumiem pilnībā izmantot savu potenciālu.