VBA mačs | Kā izmantot spēles funkciju VBA Excel? (Piemēri)

Tāpat kā mums darblapā ir indekss un atbilstība kā uzmeklēšanas funkcijas, mēs varam izmantot arī atbilstības funkcijas VBA kā uzmeklēšanas funkciju, šī funkcija ir darblapas funkcija, un tai piekļūst lietojumprogramma. darblapas metodi, un tā kā tā ir darblapas funkcija, funkcijas Match spēles argumenti ir līdzīgi darblapas funkcijai.

VBA spēles funkcija

VBA Match funkcija meklē uzmeklēšanas vērtības pozīciju vai rindas numuru tabulas masīvā, ti, galvenajā Excel tabulā.

Darblapā uzmeklēšanas funkcijas ir neatņemama Excel sastāvdaļa. Dažas svarīgas uzmeklēšanas funkcijas ir VLOOKUP, HLOOKUP, INDEX un MATCH. Diemžēl šīs funkcijas mums nav VBA funkcijas. Tomēr mēs tos varam izmantot kā darblapas funkcijas VBA.

Šajā rakstā es parādīšu, kā izmantot vienu no darblapu uzmeklēšanas funkcijām MATCH VBA kā darblapas funkciju.

Kā izmantot funkciju MATCH programmā VBA Excel?

Mēs parādīsim vienkāršu Excel MATCH funkcijas izmantošanas piemēru VBA.

Šo VBA Match Excel veidni varat lejupielādēt šeit - VBA Match Excel veidne

1. piemērs

VBA mēs varam izmantot šo MATCH formulu Excel kā darblapas funkciju. Veiciet tālāk norādītās darbības, lai VBA izmantotu funkciju MATCH.

1. darbība: izveidojiet apakšprocedūru, piešķirot makro nosaukumu.

Kods:

 Apakš atbilstības_piemērs1 ()

2. solis: E2 šūnā mums ir nepieciešams rezultāts, tāpēc sāciet kodu kā diapazonu (“E2”). Vērtība =

Kods:

 Apakšsaskaņas_piemērs1 () diapazons ("E2"). Vērtība = Beigu apakšnodaļa 

3. solis: E2 šūnā vērtībai jābūt MATCH formulas rezultātam. Tātad, lai piekļūtu funkcijai VBA MATCH, mums vispirms jāizmanto rekvizīts “WorksheetFunction”. Šajā īpašumā mēs iegūsim visu pieejamo darblapas funkciju sarakstu.

4. solis: Šeit atlasiet funkciju MATCH.

Kods:

 Apakšsaskaņas_piemērs1 () diapazons ("E2"). Vērtība = WorksheetFunction.Match (beigu apakšdaļa 

5. solis: Tagad problēma sākas, jo mēs nesaņemam precīzu sintakses nosaukumu, drīzāk mēs iegūstam šādu sintaksi kā “Arg1, Arg2, Arg3”. Tāpēc šeit ir jābūt pilnīgi pārliecinātam par sintaksēm.

Mūsu pirmais arguments ir LOOKUP VALUE, mūsu LOOKUP VALUE ir šūnā D2, tāpēc atlasiet šūnu kā Range (“D2”) .

Kods:

 Apakšsakritības_piemērs1 () diapazons ("E2"). Vērtība = WorksheetFunction.Match (diapazons ("D2"). Vērtība, beigu apakšdaļa 

6. solis: Otrais arguments ir Table Array, mūsu tabulas masīva diapazons ir no A2 līdz A10. Tāpēc atlasiet diapazonu kā “Diapazons (“ A2: A10 ”)”

Kods:

 Apakšsaskaņas_piemērs1 () diapazons ("E2"). Vērtība = WorksheetFunction.Match (diapazons ("D2"). Vērtība, diapazons ("A2: A10"), beigu apakšdaļa 

7. solis: Tagad pēdējais arguments ir MATCH TYPE. Mums ir nepieciešama precīza atbilstība, tāpēc ievadiet argumenta vērtību kā nulle.

Kods:

 Apakšsakritības_piemērs1 () diapazons ("E2"). Vērtība = WorksheetFunction.Match (diapazons ("D2"). Vērtība, diapazons ("A2: A10"), 0) Beigu apakšdaļa 

Palaidiet makro, un mēs iegūsim pozīciju neatkarīgi no gada nosaukuma šūnā D2.

2. piemērs - VBA spēle no citas lapas

Pieņemsim, ka tas pats datu kopums no iepriekš minētā ir divās dažādās lapās. Piemēram, tabulas masīvs atrodas lapas nosaukumā ar nosaukumu “Datu lapa”, un uzmeklēšanas vērtība ir lapas nosaukumā ar nosaukumu “Rezultātu lapa”.

Šajā gadījumā mums ir jānorāda darblapas pēc nosaukuma, pirms mēs atsaucamies uz diapazoniem. Zemāk ir kodu kopa ar lapu nosaukumiem.

Kods:

 Sub Match_Example2 () Sheets ("Result Sheet"). Range ("E2"). Value = WorksheetFunction.Match (Sheets ("Result Sheet"). Range ("D2"). Value, Sheets ("Data Sheet"). Diapazons ("A2: A10"), 0) Beigu apakšdaļa 

3. piemērs - VBA spēles funkcija ar cilpām

Ja rezultātu mēs vēlamies vienā šūnā, tad nav problēmu, bet, ja rezultātam jānāk vairāk nekā vienā šūnā, mums jāizmanto VBA cilpa, lai iegūtu rezultātu visās šūnās.

Pieņemsim, ka jums ir šādi dati.

Šajos gadījumos garu kodu rakstīšana ir herculean uzdevums, tāpēc mēs pārslēdzamies uz cilpām. Zemāk ir kodu kopa, kas veiks darbu mūsu vietā.

Kods:

 Apakšvērtības_piemērs3 () Dim k kā skaitlis k = 2 līdz 10 šūnām (k, 5). Vērtība = WorksheetFunction.Match (šūnas (k, 4). Vērtība, diapazons ("A2: A10"), 0) Nākamais k beigas Apakšgrupa 

Šis kodu kopums rezultātu iegūs tikai ar acu mirgošanu.


$config[zx-auto] not found$config[zx-overlay] not found